Bagaimana untuk mendapatkan senarai pengguna menggunakan hanya satu nilai dalam berbilang baris - MySQL
P粉214089349
P粉214089349 2024-02-03 23:19:38
0
1
348

Saya ada lembaran pembayaran. Ia mempunyai lajur bernama user_id dan payment_type. Untuk setiap pembayaran, pengguna boleh mempunyai berbilang jenis pembayaran. Saya ingin mencari pengguna yang hanya menggunakan satu jenis_bayaran sepanjang hayat mereka.

Izinkan saya menerangkannya dengan jelas dengan contoh: Katakan saya mempunyai data berikut:

user_id payment_type
1   UPI
1   NB
2   UPI
2   UPI

Untuk di atas, saya hanya mahu user_id 2 sebagai output kerana untuk kedua-dua pembayaran ini, ia hanya menggunakan 1 jenis_bayaran.

Ada sesiapa boleh tolong?

P粉214089349
P粉214089349

membalas semua(1)
P粉337385922

Sesuatu HAVING dan COUNT yang mudah sepatutnya berjaya:

select user_id
from my_table
group by user_id
having count(distinct payment_type)=1;

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=65f673a7df3ac0ee18c13105a2ec17ad一个>

Jika anda ingin memasukkan payment_type dalam set keputusan, gunakan:

select my.user_id,my.payment_type
from my_table my 
inner join ( select user_id
             from my_table
             group by user_id
             having count(distinct payment_type)=1
            ) as t1 on t1.user_id=my.user_id
group by  my.user_id,my.payment_type  ;

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=cc4704c9e51d01e4e8fc087702edbe6e 一个>

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!