【问题标题】:How to get the total count from each date in postgresql?如何从postgresql中的每个日期获取总计数?
【发布时间】:2014-06-05 10:17:12
【问题描述】:

如何通过选择不同的日期来获取特定日期的总数。 例如: 记录包含从“2014-04-01”到日期。每个日期包含多个具有不同 IST 时间的记录。

如何获取每个日期的总计数?

【问题讨论】:

  • 放一些示例代码和预期的输出。以便其他人能够理解。

标签: postgresql


【解决方案1】:

根据你想要的表结构和结果,查询应该看起来像这样

  SELECT DATE(date_column), COUNT(*) 
    FROM tablename 
   WHERE date_column IN (your_date_list)
GROUP BY date(date_column);

【讨论】:

    【解决方案2】:

    看看下面sql(我没测试过)

     SELECT date_column, COUNT(*) 
     FROM tablename 
     WHERE date_column BETWEEN date_column AND current_date
     GROUP BY to_date(date_column::text,'YYYY-MM-DD')
    

    【讨论】:

    • date 列转换为字符串,然后将其转换回date 没有任何意义(此外,由于您依赖隐式日期格式,因此编码风格非常糟糕)。如果您想从timestamp 列中删除潜在的时间部分,您应该使用date_trunc() 或将timestamp 转换为date(参见chetan 的答案)。另外:您需要在选择列表中使用与group by 子句中相同的表达式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 2019-03-07
    • 2017-01-20
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多