【发布时间】:2018-02-07 07:57:32
【问题描述】:
我正在尝试过滤带有 ID 和日期的表格。我的问题是;一个月内出现了多少个唯一 ID?我从数据库中拿了一个小sn-p,可以在这篇文章的底部查看。
条件
-
仅每天计算一个唯一 ID。这意味着即使一个 Id 一天出现 2 次,我们也只会将该 Id 算作当天的一次
-
仅统计每月至少显示 2 次的 ID。意思是我们排除
感觉好像有一个简短的方法来执行这个,我想学习。到目前为止,我已将日期拆分为较短的 varchar,例如“30-01-2018”,我可以在其中过滤掉每个日期的乘法。然后我对不同的标签进行了计数。这似乎可行,但涉及 4-5 个单独的临时表。有没有更好的方法一次性对它进行排序?
数据库
日期日期时间
ID varchar
+-------------------------+-----+
| Dates | Id |
+-------------------------+-----+
| 2018-01-30 08:37:51.450 | 158 |
| 2018-01-31 08:43:04.317 | 158 |
| 2018-01-31 08:32:43.977 | 143 |
| 2018-01-31 12:51:12.720 | 143 |
| 2018-01-30 08:35:51.777 | 89 |
| 2018-01-30 12:47:52.817 | 189 |
| 2018-01-31 08:46:58.913 | 89 |
| 2018-01-31 08:29:23.077 | 109 |
| 2018-01-30 07:10:00.267 | 31 |
| 2018-01-31 06:01:54.813 | 31 |
| 2018-01-31 12:36:04.583 | 31 |
| 2018-01-30 08:07:27.320 | 187 |
| 2018-01-30 08:08:11.917 | 226 |
| 2018-01-30 12:20:00.240 | 226 |
| 2018-01-31 08:17:59.257 | 226 |
| 2018-01-30 09:20:23.577 | 167 |
| 2018-01-31 12:40:30.977 | 167 |
| 2018-01-31 14:02:18.563 | 167 |
+-------------------------+-----+
谢谢!
【问题讨论】:
-
“一个月内显示了多少个唯一 ID”与“每天仅计算一个唯一 ID”和“仅计算每月显示至少 2 次的 Id”...
标签: sql sql-server datetime group-by