Sql 对单个表上2列的数据进行计数和分组
在对单个表上2列的数据进行计数和分组时,我遇到了一个问题 我的表格结构: id、价格、用户1、用户2 数据样本:Sql 对单个表上2列的数据进行计数和分组,sql,count,group-by,Sql,Count,Group By,在对单个表上2列的数据进行计数和分组时,我遇到了一个问题 我的表格结构: id、价格、用户1、用户2 数据样本: 结果不是我想要的, 我希望输出如下: bergkamp 3 亨利1号 切赫2号 永贝里1号 劳伦1 皮雷斯1 维埃拉1号 任何帮助都将不胜感激,谢谢将两个用户栏合并为一个用户栏。然后根据临时表结果分组并计算名称 select user_name, count(*) from ( SELECT user_1 as user_name FROM sales union
结果不是我想要的,
我希望输出如下:
bergkamp 3
亨利1号
切赫2号
永贝里1号
劳伦1
皮雷斯1
维埃拉1号
任何帮助都将不胜感激,谢谢将两个用户栏合并为一个用户栏。然后根据临时表结果分组并计算名称
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
您可以使用
接头
:
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
呸!它就像一个魔术,先生@juergen-d,非常感谢你
bergkamp 3<br>
henry 1<br>
cech 2<br>
ljungberg 1<br>
lauren 1<br>
pires 1<br>
viera 1<br>
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
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