Rumah > Soal Jawab > teks badan
Saya mempunyai dua jadual bernama "Pengguna" dan "Pembayaran". Dalam Pembayaran, terdapat kunci asing pada jadual pengguna. Ini adalah rekod jadual pembayaran.
从付款中选择 id,User_id;
id | ID_pengguna |
---|---|
1 | 1 |
2 | 1 |
3 | 2 |
4 | 3 |
5 | 2 |
Tetapi hasil jangkaan saya adalah ini.
id | ID_pengguna |
---|---|
1 | 1 |
3 | 2 |
4 | 3 |
Saya hanya mahukan data pertama setiap User_id dalam SQL.
P粉2620731762023-09-12 14:14:03
Cuba ini...
SELECT p1.id, p1.user_id FROM payment p1 WHERE p1.id IN (SELECT MIN(p2.id) FROM payment p2 GROUP BY p2.user_id)
Andaikan, "first" merujuk kepada nilai minimum id
dalam jadual pembayaran pengguna itu, dan anda juga memerlukan butiran lanjut dalam jadual pembayaran atau melakukan operasi lain padanya...
Jika anda hanya mahukan ID pembayaran MIN, lakukan sahaja ini:
SELECT MIN(id), user_id FROM payment GROUP BY user_id