Mysql 如何根据字段值对行进行分组?也许是RANK()的案子?
对于一个糟糕的实现,我们的情况如下:Mysql 如何根据字段值对行进行分组?也许是RANK()的案子?,mysql,grouping,rank,Mysql,Grouping,Rank,对于一个糟糕的实现,我们的情况如下: +-----------+-------- +-----------+-----------+-----------+---------+------------------------+---------------------+---------------------+-----------+----------+---------+-------- | id | event_n | reader_id | entity_id | sch
+-----------+-------- +-----------+-----------+-----------+---------+------------------------+---------------------+---------------------+-----------+----------+---------+--------
| id | event_n | reader_id | entity_id | school_id | root_id | event_value | created_at | updated_at | event_flo | event_int| user_id | teacher
+-----------+-------- +-----------+-----------+-----------+---------+------------------------+---------------------+---------------------+-----------+----------+---------+--------
| 345678270 | search | 2511678 | 193765 | <null> | 65478 | Du mmy | 2021-04-05 19:24:11 | 2021-04-05 19:24:11 | <null> | <null> | 2634876 | <null>
| 345678286 | search | 2511678 | 193765 | <null> | 65478 | Du mmyntex | 2021-04-05 19:24:13 | 2021-04-05 19:24:13 | <null> | <null> | 2634876 | <null>
| 345678366 | search | 2511678 | 193765 | <null> | 65478 | Du mmyntexas | 2021-04-05 19:24:17 | 2021-04-05 19:24:17 | <null> | <null> | 2634876 | <null>
| 345678370 | search | 2511678 | 193765 | <null> | 65478 | Du mmyntexas de ma | 2021-04-05 19:24:17 | 2021-04-05 19:24:17 | <null> | <null> | 2634876 | <null>
| 345678388 | search | 2511678 | 193765 | <null> | 65478 | Du mmyntexas de make | 2021-04-05 19:24:18 | 2021-04-05 19:24:18 | <null> | <null> | 2634876 | <null>
| 345678823 | search | 2587432 | 61567 | <null> | 65478 | du mmyntexas do clock | 2021-04-05 19:24:52 | 2021-04-05 19:24:52 | <null> | <null> | 2713377 | <null>
| 345678315 | search | 2511678 | 193765 | <null> | 65478 | Du mmyntexasd | 2021-04-05 19:24:14 | 2021-04-05 19:24:14 | <null> | <null> | 2634876 | <null>
+------------+------------+-----------+-----------+-----------+---------+------------------------+---------------------+---------------------+-----------+----------+---------+--------
|id |事件|读者|身份|实体|学校|身份|根|身份|事件|价值|创建|更新|事件|事件|内部|用户|身份|教师
+-----------+-------- +-----------+-----------+-----------+---------+------------------------+---------------------+---------------------+-----------+----------+---------+--------
|345678270 | search | 2511678 | 193765 | 65478 | Du mmy | 2021-04-05 19:24:11 | 2021-04-05 19:24:11 | 2634876 |
|345678286 | search | 2511678 | 193765 | 65478 | Du mmyntex | 2021-04-05 19:24:13 | 2021-04-05 19:24:13 | 2634876 |
|345678366 | search | 2511678 | 193765 | 65478 | Du mmyntexas | 2021-04-05 19:24:17 | 2021-04-05 19:24:17 | 2634876 |
|345678370 | search | 2511678 | 193765 | 65478 | Du mmyntexas de ma | 2021-04-05 19:24:17 | 2021-04-05 19:24:17 | 2634876 |
|345678388 | search | 2511678 | 193765 | 65478 | Du mmyntexas de make | 2021-04-05 19:24:18 | 2021-04-05 19:24:18 | 2634876 |
|345678823 | search | 2587432 | 61567 | 65478 | du mmyntexas do clock | 2021-04-05 19:24:52 | 2021-04-05 19:24:52 | 2713377 |
|345678315 | search | 2511678 | 193765 | 65478 | Du mmyntexasd | 2021-04-05 19:24:14 | 2021-04-05 19:24:14 | 2634876 |
只应记录长度较大的event_value
列。我们已经解决了这个问题。但是,任何人都可以看到一种按这些寄存器分组的方法,这样我就可以删除它们,只留下最大的长度
我考虑过使用,RANK()
函数,但找不到将这些值分组的方法
删除t1
来自表名t1
联接表名t2
--调整连接列列表
使用(事件号、读卡器号、实体号、用户号)
其中LOCATE(t1.事件值,t2.事件值)=1
t1.created_att2.created_at
或者在存在的地方使用相同的方法