Rumah > Soal Jawab > teks badan
Saya menjalankan pertanyaan SELECT untuk mendapatkan data daripada MySQL
SELECT MIN(datetime) as created, MAX(datetime) as updated, COUNT(CASE WHEN type = 'update' AND contact_name <> 'System' THEN 1 END) as replies, COUNT(CASE WHEN type = 'update' AND (contact_name * 1 = contact_name) THEN 1 END) as customer_replies
Dan ia berfungsi dengan baik, tetapi saya juga mahu mendapatkan baris seterusnya MIN(datetime)
selepas
Adakah mungkin untuk melakukan ini seperti MIN()+1
?
P粉8055354342023-09-08 11:38:19
Berikut adalah penyelesaian yang memberikan nilai kedua terkecil:
SELECT MIN(datetime) as created_second_minimum FROM TableName ORDER BY datetime LIMIT 1,1;
Apabila kita menggunakan LIMIT n, ia mengembalikan n baris pertama, dan apabila kita menggunakan LIMIT n,m, ia mengembalikan m baris selepas baris ke-n (tidak termasuk baris ke-n). Dalam kes kami ia tidak mengembalikan baris pertama, hanya baris kedua. Memandangkan kami memesan pertanyaan mengikut tarikh masa, baris kedua adalah yang kedua tertua.