Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对单个表上2列的数据进行计数和分组_Sql_Count_Group By - Fatal编程技术网

Sql 对单个表上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

在对单个表上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 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