Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris Tarikh Maksimum dengan Jumlah Semakan Bukan Sifar dalam SQL?

Bagaimana untuk Memilih Baris Tarikh Maksimum dengan Jumlah Semakan Bukan Sifar dalam SQL?

Barbara Streisand
Lepaskan: 2025-01-08 13:18:44
asal
1015 orang telah melayarinya

How to Select Maximum Date Rows with Non-Zero Check Amounts in SQL?

Mengekstrak Entri Terkini dengan Nilai Semak Bukan Sifar daripada Jadual SQL

Panduan ini menunjukkan cara mendapatkan semula rekod terbaharu bagi setiap kumpulan dengan cekap, menapis amaun cek bukan sifar. Mari kita anggap jadual berstruktur seperti ini:

<code>group    date      cash  checks
  1    1/1/2013     0      0
  2    1/1/2013     0      800
  1    1/3/2013     0      700
  3    1/1/2013     0      600
  1    1/2/2013     0      400
  3    1/5/2013     0      200</code>
Salin selepas log masuk

Pendekatan SQL berikut mencapai ini:

Pertama, kami mencari tarikh maksimum untuk setiap kumpulan dengan nilai checks lebih besar daripada sifar:

SELECT group, MAX(date) AS max_date
FROM table
WHERE checks > 0
GROUP BY group;
Salin selepas log masuk

Ini menghasilkan:

<code>group    max_date
  2    1/1/2013
  1    1/3/2013
  3    1/5/2013</code>
Salin selepas log masuk

Seterusnya, kami menyertai keputusan ini kembali ke jadual asal untuk mendapatkan amaun checks yang sepadan:

SELECT t.group, t.date AS max_date, t.checks
FROM table t
INNER JOIN (
  SELECT group, MAX(date) AS max_date
  FROM table
  WHERE checks > 0
  GROUP BY group
) AS a ON a.group = t.group AND a.max_date = t.date;
Salin selepas log masuk

Pertanyaan akhir ini menghasilkan output yang diingini:

<code>group    max_date    checks
  2    1/1/2013    800
  1    1/3/2013    700
  3    1/5/2013    200</code>
Salin selepas log masuk

Nota Penting: Menggunakan perkataan terpelihara (seperti date) sebagai nama lajur adalah sangat tidak digalakkan. Ia boleh membawa kepada ralat sintaks SQL dan menjadikan kod anda lebih sukar untuk diselenggara. Pertimbangkan nama yang lebih deskriptif dan jelas untuk lajur anda.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris Tarikh Maksimum dengan Jumlah Semakan Bukan Sifar dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan