首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据统计

MySQL数据统计
EN

Stack Overflow用户
提问于 2012-07-31 07:43:45
回答 2查看 379关注 0票数 0

因此,我们有一个表,它基本上包括了一张票的大部分票证详细信息,除了非常长的内容(如注释、技术说明、图片等),这些链接在其他表中的其他地方,等等。

我们希望在数据表中返回有关各种票证的指标。例如:

代码语言:javascript
复制
SELECT Category, Count(Category) FROM tickets 
WHERE Date_SUB(CURDATE(), Interval 16 Hour) <= Datez GROUP BY Category

这将返回一个结果列表,例如,我们的每个类别以及它们的计数。

但是,如果我们想要针对不同间隔调整这个值,比如返回16 hours1 day30 day3 month12 monthAll time的数字,我们是否必须运行相同的查询次数(例如,对于列出的每个减去所有时间的次数,运行该查询5次?

最终,我们希望在我们的C# Winforms应用程序中使用某种类型的仪表板中的计数,它将显示各种票证数据,以便我们可以看到部门的工作情况;但是,如果我们不得不坐在那里,每隔几分钟运行5次查询,这可能会导致系统停滞,不是吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-31 07:57:26

您可以尝试如下所示:

代码语言:javascript
复制
SELECT
    Category,
    IF(Date_SUB(CURDATE(), Interval 16 Hour) <= Datez, SUM(1), 0) AS c16hours,
    IF(Date_SUB(CURDATE(), Interval 1 day) <= Datez, SUM(1), 0) AS c1day,
    IF(Date_SUB(CURDATE(), Interval 30 days) <= Datez, SUM(1), 0) AS c30days,
    (...)
FROM tickets 
GROUP BY Category

这应该是可行的(但是我没有测试这个例子,只是给你一些理论)!

祝好运。

票数 1
EN

Stack Overflow用户

发布于 2012-07-31 07:53:36

我相信你也可以在WHERE语句后面添加一个AND语句来继续这个列表。

这将定义。缩短它

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11731241

复制
相关文章

相似问题

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