如何取得在多行中僅使用一個值的使用者清單 - MySQL
P粉214089349
P粉214089349 2024-02-03 23:19:38
0
1
350

我有一張付款表。它有一個名為 user_id 和 payment_type 的欄位。對於每次付款,用戶可以有多種付款類型。 我想找出我一生中只使用過一種 payment_type 的使用者。

讓我透過一個例子來清楚地說明: 假設我有以下數據:

user_id payment_type
1   UPI
1   NB
2   UPI
2   UPI

對於上述內容,我只希望 user_id 2 作為輸出,因為對於這兩次付款,它只使用了 1 個 payment_type。

有人可以幫忙嗎?

P粉214089349
P粉214089349

全部回覆(1)
P粉337385922

一個簡單的 HAVING 和 COUNT 應該可以解決問題:

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一个>

如果您想在結果集中包含 payment_type,請使用:

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 一个>

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!