【发布时间】:2021-04-25 18:52:18
【问题描述】:
如何编写一个查询来修复 Guava 和 Berry 的数量与 no_of_fruits 的数量相同? Guava 和 Berry 有自己的编号。
PS。 fruits_opt 列有两个值(Guava 和 Berry)
SELECT
DATETRUNC(date_ts,'dd') AS day,
COUNT(sold_fruits) AS no_of_fruits_sold,
COUNT( fruits_opt = 'Guava')AS Guava,
COUNT( fruits_opt = 'Berry')AS Berry
FROM beginner_1
GROUP BY DATETRUNC(date_ts,'dd')
ORDER BY DATETRUNC(date_ts,'dd');
当前结果:
| day | no_of_fruits_sold | Guava | Berry |
|---|---|---|---|
| 2021-01-06 00:00:00 | 120 | 120 | 120 |
| 2021-01-07 00:00:00 | 50 | 50 | 50 |
| 2021-01-08 00:00:00 | 100 | 100 | 100 |
| 2021-01-09 00:00:00 | 80 | 80 | 80 |
想要的结果:
| day | no_of_fruits_sold | Guava | Berry |
|---|---|---|---|
| 2021-01-06 00:00:00 | 120 | 80 | 40 |
| 2021-01-07 00:00:00 | 50 | 19 | 31 |
| 2021-01-08 00:00:00 | 100 | 67 | 33 |
| 2021-01-09 00:00:00 | 80 | 52 | 28 |
【问题讨论】:
-
您确定您使用的是 Postgres 吗?没有
datetrunc()功能 - 只有date_trunc() -
我没有使用 Postgres,但它的语法最接近。
-
那我的回答现在很可能没用了
标签: sql aggregation