如果在group by后distinct多列汇总?

pigsanddogs 2013-04-25 08:06:46
a b c
0 1 1
0 1 2
0 1 1
0 2 2

1 1 1
1 1 2
1 1 1
1 2 2

需要按a做group by, 然后把bc加一起当一个整理看,不同的数量
得到如下结果
a cnt
0 3 (包括1 1, 1 2, 2 2 三种)
1 3
如果仅b或者c 我可以 select a, count(distinct b/c ) as cnt from tbl group by a
但是bc当一个整体就不知道怎么办了
...全文
213 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pigsanddogs 2013-04-25
  • 打赏
  • 举报
回复
引用 4 楼 pigsanddogs 的回复:
引用 3 楼 OrchidCat 的回复:引用 2 楼 pigsanddogs 的回复:引用 1 楼 OrchidCat 的回复:SQL code?123456789101112SELECT a , COUNT(DISTINCT bc) AS cntFROM ( SELECT a , CONVERT(VAR……
打错了, 第一个是sum select a, sum(cnt2) cnt from (select a, b, count(distinct c) cnt2 from tbl group by a, b) t group by a
pigsanddogs 2013-04-25
  • 打赏
  • 举报
回复
引用 3 楼 OrchidCat 的回复:
引用 2 楼 pigsanddogs 的回复:引用 1 楼 OrchidCat 的回复:SQL code?123456789101112SELECT a , COUNT(DISTINCT bc) AS cntFROM ( SELECT a , CONVERT(VARCHAR, b) + CONVERT(VA……
多谢, 最终用两次group by解决, 感觉很别扭 select a, count(cnt2) cnt from (select a, b, count(distinct c) cnt2 from tbl group by a, b) t group by a
Mr_Nice 2013-04-25
  • 打赏
  • 举报
回复
引用 2 楼 pigsanddogs 的回复:
引用 1 楼 OrchidCat 的回复:SQL code?123456789101112SELECT a , COUNT(DISTINCT bc) AS cntFROM ( SELECT a , CONVERT(VARCHAR, b) + CONVERT(VARCHAR, c) AS bc ……
SELECT  a ,
        COUNT(DISTINCT bc) AS cnt
FROM    ( SELECT    a ,
                    CONVERT(VARCHAR, b) +'|'+ CONVERT(VARCHAR, c) AS bc  --加个不常出现的字符
          FROM      TB
        ) T
GROUP BY a
pigsanddogs 2013-04-25
  • 打赏
  • 举报
回复
引用 1 楼 OrchidCat 的回复:
SQL code?123456789101112SELECT a , COUNT(DISTINCT bc) AS cntFROM ( SELECT a , CONVERT(VARCHAR, b) + CONVERT(VARCHAR, c) AS bc FROM TB ……
实际上的情况我的bc本来就是字符串, 可能出现 aa bb 以及 aab b的这种情况, 不能算一种
Mr_Nice 2013-04-25
  • 打赏
  • 举报
回复
SELECT  a ,
        COUNT(DISTINCT bc) AS cnt
FROM    ( SELECT    a ,
                    CONVERT(VARCHAR, b) + CONVERT(VARCHAR, c) AS bc
          FROM      TB
        ) T
GROUP BY a

/*
a	cnt
0	3
1	3*/

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧