【发布时间】:2021-03-20 06:10:23
【问题描述】:
我有一个 monitoring 表,其中客户 ID 列 ID,应用程序的最后登录日期 Time。我写了一个查询来显示客户在什么时间可以访问系统的表格:时间 - 此时的条目数 - 客户 ID。
请求:
select Time, count (*) as Quantity, group_concat (ClientID) from monitoring group by Time;
如何编写以下查询?以相同的形式显示表格,只是现在需要在每次至少有 1 个客户端访问时,显示当时没有访问权限的所有客户端的 id。
更新。
+---------------------+-------------+----------------+
| Time | Quantity | ClientID |
+---------------------+-------------+----------------+
| 2018-06-14 15:51:03 | 3 | 311,240,528 |
| 2018-06-14 15:51:20 | 3 | 314,312,519 |
| 2019-01-14 06:00:07 | 1 | 359 |
| 2019-08-21 14:30:04 | 1 | 269 |
+---------------------+-------------+----------------+
这些是当前具有访问权限的客户的 ID。并且您需要显示在特定时间没有访问权限的所有客户的 ID 也就是说,在这种情况下:
+---------------------+-------------+-----------------------------+
| Time | Quantity | ClientID |
+---------------------+-------------+-----------------------------+
| 2018-06-14 15:51:03 | 5 | 269,359,314,312,519 |
| 2018-06-14 15:51:20 | 5 | 311,240,528,359,269 |
| 2019-01-14 06:00:07 | 7 | 311,240,528,314,312,519,269 |
| 2019-08-21 14:30:04 | 7 | 311,240,528,314,312,519,359 |
+---------------------+-------------+-----------------------------+
建议不要考虑日期和时间,而只考虑年和月。但一出来。谢谢。
【问题讨论】:
标签: mysql sql datetime count subquery