【问题标题】:Counting the sql records on the basis of date in BIRTBIRT中根据日期统计sql记录
【发布时间】:2018-01-08 08:18:43
【问题描述】:

我在 sql 中有一个用于记录的表。它包含 dateTime、id 和其他一些列。 我想在折线图中显示每月增加或减少的记录数。

SQL 中的日期和时间格式如下:2016-03-22 16:09:50.0000000 sql server中该列的数据类型为'datetime2(0)'

目前,我将“dateTime”放在 x 轴上,将“id”放在 y 轴上。我想我可以使用 id 来统计每个月的记录。

这是输出报告的屏幕截图。

时间没有以正确的格式显示,我不知道如何计算每个月的记录。

请帮忙..提前谢谢!!!

【问题讨论】:

  • 您的查询是什么,您是如何获得该图表的? datetime 没有格式。另外,mysql != sql server,未涉及的产品请勿标注。
  • @HoneyBadger 对不起我在错误标签上的错误。我现在已经编辑了它。我的查询很简单,我现在正在从表中获取所有记录。从 mytable 中选择 *,在 x 轴上设置 dateTime 列,在 y 轴上设置 id。
  • 如果你想要记录的计数,你应该选择count()

标签: sql sql-server reporting-services birt


【解决方案1】:

我建议创建一个包含 ID 计数和年/月 varchar 字段的数据集,例如:

SELECT
CONCAT(year(yourdatetimefield), '-', month(yourdatetimefield)) AS YearMonth,
COUNT (ID) AS COUNT
FROM YourTable
GROUP BY CONCAT(year(yourdatetimefield), '-', month(yourdatetimefield))

这会返回年/月,以及每个月的 ID 数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多