Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Pengguna dengan Pelbagai Pembayaran Harian daripada Kod Pos Berbeza Menggunakan SQL?
Pertanyaan SQL untuk Mengesan Pengguna dengan Bayaran Berbilang Hari Sama daripada Pelbagai Kod ZIP
Pertanyaan SQL ini menganalisis jadual PAYMENTS
(mengandungi ID pengguna, nombor akaun, kod ZIP dan tarikh pembayaran) untuk menentukan pengguna yang membuat berbilang pembayaran pada hari yang sama, setiap satu menggunakan nombor akaun yang sama tetapi berasal dari ZIP yang berbeza kod.
<code class="language-sql">SELECT user_id, COUNT(*) AS payment_count FROM (SELECT DISTINCT user_id, account_no, zip, payment_date FROM PAYMENTS ) AS daily_payments GROUP BY user_id, account_no, payment_date HAVING COUNT(*) > 1;</code>
Penjelasan:
Pertanyaan menggunakan subkueri untuk memilih rekod pembayaran unik pada mulanya berdasarkan user_id
, account_no
, zip
dan payment_date
. Ini menghapuskan entri berlebihan. Pertanyaan luar kemudian mengumpulkan rekod unik ini mengikut user_id
, account_no
dan payment_date
untuk mengira pembayaran bagi setiap gabungan unik. Akhir sekali, klausa HAVING
menapis keputusan, mengekalkan hanya pengguna yang mempunyai lebih daripada satu pembayaran pada hari tertentu menggunakan nombor akaun yang sama. Output menunjukkan user_id
dan bilangan pembayaran yang layak.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Pengguna dengan Pelbagai Pembayaran Harian daripada Kod Pos Berbeza Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!