簡體   English   中英

在單個表的2列中對數據進行計數和分組

[英]count and group data from 2 column on single table

在對單個表的2列進行計數和分組時,我遇到問題。

我的表格結構: id,價格,user_1,user_2

數據樣本:

001 500 bergkamp cech<br>
002 100 cech ljungberg<br>
003 200 viera henry<br>
004 300 bergkamp pires<br>
005 200 lauren bergkamp<br>

我的查詢:

SELECT                          
user_1,user_2,            
count(user_1) as total1, 
count(user_2) as total2 
FROM                            
sales
group by user_1 and user_2

結果不是我想要的,

我想要這樣的輸出:

bergkamp    3<br>
henry       1<br>
cech        2<br>
ljungberg   1<br>
lauren      1<br>
pires       1<br>
viera       1<br>

任何幫助將不勝感激,謝謝

使用UNION將兩個用戶列合並為一個。 然后按該臨時表結果分組並計算名稱

select user_name, count(*)
from
(
    SELECT user_1 as user_name FROM sales
    union all 
    SELECT user_2 FROM sales
) tmp
group by user_name

您可以使用UNION

SELECT t.user, COUNT(*) AS total
FROM
(
    SELECT user_1 AS user
    FROM sales
    UNION ALL
    SELECT user_2
    FROM sales
) t
GROUP BY t.user

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM