首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询返回按天分组的行数?

如何查询返回按天分组的行数?
EN

Stack Overflow用户
提问于 2012-10-17 22:03:39
回答 3查看 98关注 0票数 2

我使用的是这个表达式:

代码语言:javascript
复制
SELECT DATE(calldate) as Data,COUNT(clid) as Registros,dst as Tronco
FROM cdr WHERE dst=55008133070000 
AND calldate BETWEEN '2012-10-01' AND '2012-10-15'
GROUP BY DATE(calldate), clid HAVING COUNT(clid) > 1 ORDER BY Data DESC

Date---------Total------ Trunk
2012-10-11  3   55008133070000
2012-10-11  2   55008133070000
2012-10-11  3   55008133070000
2012-10-10  2   55008133070000
2012-10-10  2   55008133070000
2012-10-10  2   55008133070000
2012-10-09  3   55008133070000
2012-10-09  2   55008133070000
2012-10-09  2   55008133070000
2012-10-09  3   55008133070000
2012-10-09  5   55008133070000
2012-10-09  5   55008133070000

但是,需要显示当天重复的次数。

代码语言:javascript
复制
Date---------Total------ Trunk
2012-10-11  3   55008133070000
2012-10-10  3   55008133070000
2012-10-09  6   55008133070000

有什么建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-17 22:07:04

编辑的 due OP评论:

您应该按dst分组,而不是按clid分组,对于不同的目标编号也要计数,请参见group by子句和计数:

代码语言:javascript
复制
SELECT DATE(calldate) as Data,COUNT( distinct clid) as Registros, dst as Tronco
FROM cdr 
WHERE dst=55008133070000 
      AND calldate BETWEEN '2012-10-01' AND '2012-10-15'
GROUP BY DATE(calldate),  dst 
HAVING COUNT(distinct clid) > 1 ORDER BY Data DESC
票数 0
EN

Stack Overflow用户

发布于 2012-10-17 22:06:48

在您的查询中,您将使用GROUP BY DATE(calldate), clid,它将为您提供每天每个clidCOUNT()

GROUP BY子句中删除clid以获取每个日期的计数。

您的最终查询将类似于:

代码语言:javascript
复制
SELECT
    DATE(calldate) as Data, COUNT(*) as Registros, dst as Tronco
FROM
    cdr
WHERE
    dst=55008133070000 
    AND calldate BETWEEN '2012-10-01' AND '2012-10-15'
GROUP BY
    DATE(calldate)
HAVING
    COUNT(clid) > 1
ORDER BY
    Data DESC

然而,在这个查询中,拉取dst可能没有意义,可以删除。

票数 2
EN

Stack Overflow用户

发布于 2012-10-17 22:08:59

使用Calldate代替Id。

代码语言:javascript
复制
SELECT DATE(calldate) as Data,COUNT(calldate) as Registros,dst as Tronco
FROM cdr WHERE dst=55008133070000 
AND calldate BETWEEN '2012-10-01' AND '2012-10-15'
GROUP BY DATE(calldate), dst HAVING COUNT(calldate) > 1 ORDER BY Data DESC
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12936129

复制
相关文章

相似问题

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