【发布时间】:2021-10-27 02:43:30
【问题描述】:
我有一个看起来像这样的表:
+------------+------------+--------------+
| Date | Name | Certificates |
+------------+------------+--------------+
| 2021-02-01 | Jason | 3 |
| 2021-02-01 | Nisha | 4 |
| 2021-02-01 | Zaid | 5 |
| 2021-03-25 | Aniket | 4 |
| 2021-03-25 | Anish | 2 |
| 2021-03-25 | Nadia | 0 |
| 2021-05-06 | Aadil | 7 |
| 2021-05-06 | Ashish | 1 |
| 2021-05-06 | Rahil | 9 |
+------------+------------+--------------+
此结果是通过执行以下 SQL 查询获得的:
SELECT
Date, Name, COUNT(Certificates) as Certificates
FROM Students.data
GROUP BY Date, Name
ORDER BY Date, Name;
收到这个结果后,理想情况下,我现在只想要每个日期的第一个条目(基本上是每个日期的名字),应该是这样的:
+------------+------------+--------------+
| Date | Name | Certificates |
+------------+------------+--------------+
| 2021-02-01 | Jason | 3 |
| 2021-03-25 | Aniket | 4 |
| 2021-05-06 | Aadil | 7 |
+------------+------------+--------------+
有没有办法可以通过查询修改上述组以获得结果,或者我是否需要将此查询的结果传递给其他查询,如果是,该查询将是什么。 谢谢。
另外,我使用的数据库是 Clickhouse。
注意:如果问题有任何问题,请告诉我,可以澄清一下。
【问题讨论】:
-
您需要在这里定义每个日期的“第一条”记录的实际含义。从你的问题看不清楚。
-
嘿@TimBiegeleisen 我已经进行了编辑,希望现在更有意义。
-
@ShaikhAbuzar 你预计最终输出是 3,4,7 还是证书列中的所有这些都是 1
-
@ShaikhAbuzar 检查下面的结果dbfiddle.uk/… 是你想要的吗?
标签: sql clickhouse