同时为记录保存4+行的情况计数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (5)

我有一个表格,其中定期为每个用户的记录保存数据,而不是在它发生变化时保存。通常,对于特定用户记录,最大值将一次保存三行,但有时保存不会发生,直到累积更多。试图弄清楚如何计算有多少用户记录的数据保存一次超过三行。

样本数据集:

+--------+---------------------+------+
| RECORD | SAVE TIME           | DATA |
+========+=====================+======+
| JOE    | 2019-03-19 17:19:09 | 1219 |
| JOE    | 2019-03-19 17:19:09 | 1133 |
| CARLA  | 2019-03-19 17:20:42 | 3785 |
| FRANK  | 2019-03-19 17:20:42 | 2335 |
| FRANK  | 2019-03-19 17:20:42 | 4451 |
| FRANK  | 2019-03-19 17:20:42 | 1126 |
| JOE    | 2019-03-19 17:22:05 | 5678 |
| CARLA  | 2019-03-19 17:22:54 | 4813 |
| CARLA  | 2019-03-19 17:22:54 | 7399 |
| CARLA  | 2019-03-19 17:22:54 | 3953 |
| CARLA  | 2019-03-19 17:22:54 | 7400 |
| CARLA  | 2019-03-19 17:22:54 | 1592 |
| FRANK  | 2019-03-19 17:23:27 | 1821 |
| FRANK  | 2019-03-19 17:23:27 | 3244 |
| JOE    | 2019-03-19 17:23:40 | 4912 |
| JOE    | 2019-03-19 17:23:40 | 2174 |
| JOE    | 2019-03-19 17:23:40 | 8421 |
| JOE    | 2019-03-19 17:23:40 | 3271 |
| FRANK  | 2019-03-19 17:25:25 | 5012 |
+--------+---------------------+------+

我想从这个数据集中得到“2”的计数,因为CARLA的记录增加了5行2019-03-19 17:22:54,JOE的记录增加了4行2019-03-19 17:23:40。(还增加了四行2019-03-19 17:20:42,但是一个用于CARLA,三个用于FRANK,因此不计算在内。)

我确实在寻找这个问题的答案,但没有什么能与我在这里做的完全相符。

提问于
用户回答回答于

你必须group by record, savetime与条件count(*) > 3HAVING子句,以获得您想要的行,然后指望他们:

select count(distinct t.record) counter from (
  select
    record, savetime
  from tablename
  group by record, savetime
  having count(*) > 3
) t

扫码关注云+社区

领取腾讯云代金券