sql - 错误 : aggregate function calls cannot be nested - POSTGRESQL

标签 sql postgresql aggregate-functions

我正在尝试创建一个包含 30 天内记录历史记录的选择,其中值列获得计数,我只希望它会添加每天返回的值。

查询

SELECT
    date_update AS Time,
    SUM(COUNT(values)) as "Value"
FROM
    tb_get_metrics
WHERE
    data_update >= CURRENT_DATE - 30
GROUP BY Time
ORDER BY Time

示例输出:

       Time                      Value
2019-10-14 09:46:54.789772        30
2019-10-15 09:46:54.789772        50
2019-10-16 09:46:54.789772        70

SELECT * FROM tb_get_metrics

  date_update(TimeStamp)        value(String)
2019-10-14 09:46:54.789772        apple
2019-10-14 09:46:55.789772        apple
2019-10-14 09:46:56.789772        apple
2019-10-14 09:46:57.789772        apple
2019-10-14 09:46:58.789772        apple
2019-10-14 09:46:59.789772        apple
2019-10-14 09:47:00.789772        apple
2019-10-14 09:46:01.789772        apple
2019-10-14 09:46:02.789772        apple
2019-10-14 09:46:03.789772        apple
2019-10-14 09:46:04.789772        apple
2019-10-14 09:46:05.789772        apple
2019-10-15 09:46:03.789772        potato
2019-10-15 09:46:04.789772        potato
2019-10-15 09:46:05.789772        potato
...

最佳答案

您需要将时间四舍五入到日期:

SELECT
    date_update::date AS "Date",
    COUNT(values) as "Value"
FROM
    tb_get_metrics
WHERE
    data_update >= CURRENT_DATE - 30
GROUP BY Time
ORDER BY Time

关于sql - 错误 : aggregate function calls cannot be nested - POSTGRESQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400246/

相关文章:

php - 如何在 php 中将 'weight' 放在不同的条件下,同时保持结果半随机?

MySQL - 计算每天的用户数并计算所有用户数

每组多个组的SQL总和

mysql - 通过列中的不同值限制返回值

mysql - 在MySql中查找重复的电子邮件并根据条件删除某些电子邮件

sql - 为什么在希伯来语字符串中搜索值时没有显示结果?

java - 我怎样才能构建一个比较器,以与 PostgreSQL 相同的方式对字符串进行排序?

postgresql - 如何将环境变量传递到 .sql 文件中?

python - PostgreSQL 日期时间类型的最佳数据类型

json - Postgres - 如何从 JSON 列中搜索和聚合