首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL通过分组来计数行

SQL通过分组来计数行
EN

Stack Overflow用户
提问于 2016-01-25 13:52:45
回答 2查看 80关注 0票数 1

我有一张桌子:

代码语言:javascript
运行
复制
A       B
 ---------
1       Date1
1       Date1
1       Date1
1       Date2
2       Date1
3       Date3
4       Date2
4       Date1
1       Date3

SELECT A, count(A) FROM `table` WHERE B BETWEEN 'Date1' AND 'Date2'
GROUP BY A
ORDER BY A

当我进行正常查询时:

代码语言:javascript
运行
复制
A       B
----------
1        1
1        1
1        1
2        1
3        1
4        1
4        1

不需要数多少天?对此有什么简单的查询吗?请帮帮忙

需要以下数据:

代码语言:javascript
运行
复制
A       B
----------
1        3
2        1
3        1
4        2
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-25 14:41:57

解决问题:

代码语言:javascript
运行
复制
SELECT T1.id as id, COUNT(COALESCE(T2.totalcountdepartmentuserwise, 0)) AS totalcountdepartmentuserwise 
FROM (
      SELECT DISTINCT id FROM users WHERE company_id = 33
     ) AS T1 
     LEFT JOIN (
        SELECT user_id, COUNT(distinct user_id) AS totalcountdepartmentuserwise FROM userlogs WHERE created_at BETWEEN '2016-01-01' AND '2016-01-25' GROUP BY user_id, DATE(created_at) ORDER BY user_id
     ) AS T2 ON T2.user_id = t1.id GROUP BY id  
票数 -2
EN

Stack Overflow用户

发布于 2016-01-25 14:03:08

看来你需要数(不同的B)

代码语言:javascript
运行
复制
SELECT A, count(distinct B) 
FROM `table` WHERE B BETWEEN 'Date1' AND 'Date2'
GROUP BY A 
ORDER BY A;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34994290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档