如何用SQL统计指定日期下各unique ID的出现次数?
统计指定日期下各Unique ID的出现次数
解决方案SQL语句
假设你的表名为transaction_table,执行以下SQL即可得到所需结果:
SELECT `unique ID` AS ID, `process date`, COUNT(*) AS Count FROM transaction_table -- 如需指定单一日期,添加WHERE条件;若统计所有日期则删除该行 WHERE `process date` = '1/1/2023' GROUP BY `unique ID`, `process date`;
语句说明
COUNT(*):统计每个分组内的记录总数,即对应ID在指定日期下的出现次数GROUP BY unique ID, process date:按ID和日期组合分组,确保每个组合仅返回一行统计结果- 若需要统计所有日期的ID出现次数,直接移除
WHERE子句即可
示例输入表
| unique ID | process date | Amount |
|---|---|---|
| 123 | 1/1/2023 | 10 |
| 123 | 1/1/2023 | 15 |
| 123 | 1/1/2023 | 20 |
| 123 | 1/1/2023 | 16 |
| 123 | 1/1/2023 | 90 |
| 124 | 1/1/2023 | 11 |
| 124 | 1/1/2023 | 10 |
| 124 | 1/1/2023 | 15 |
| 124 | 1/1/2023 | 20 |
| 124 | 1/1/2023 | 16 |
| 124 | 1/1/2023 | 90 |
| 124 | 1/1/2023 | 11 |
期望输出表
| ID | process date | Count |
|---|---|---|
| 123 | 1/1/2023 | 5 |
| 124 | 1/1/2023 | 7 |
内容的提问来源于stack exchange,提问作者Emaz
相关产品推荐
相关产品推荐

