我想在配置单元中查找不使用group by的计数(不同的列名)。我的意见是:
name id a 2 a 3 a 4 b 1 c 4 c 4 d 7 d 9
我的预期产出是
name count a 3 b 1 c 1 d 2
有人能告诉我如何不使用group by来实现这一点吗。请帮忙
gpfsuwkq1#
您可以使用子查询:
select distinct t.name, (select count(distinct id) from table t1 where t1.name = t.name) as count from table t;
然而, GROUP BY 这样做真的很合适。
GROUP BY
mf98qq942#
只是使用 count 聚合函数 distinct 关键字
count
distinct
select name,count(distinct id) as cnt from table group by name
qnyhuwrf3#
没有显式的正则解 group by 是 select 与窗口功能不同:
group by
select
select distinct name, count(distinct id) over (partition by name) from t;
就你而言,我强烈建议 group by 版本:
select name, count(distinct id) from t group by name;
3条答案
按热度按时间gpfsuwkq1#
您可以使用子查询:
然而,
GROUP BY
这样做真的很合适。mf98qq942#
只是使用
count
聚合函数distinct
关键字qnyhuwrf3#
没有显式的正则解
group by
是select
与窗口功能不同:就你而言,我强烈建议
group by
版本: