+------+---------+--------+---------+---------+---------+
| id | user_id | obj_id | created | applied | content |
+------+---------+--------+---------+---------+---------+
| 1 | 1 | 1 | 1 | 1 | ... |
| 2 | 1 | 2 | 1 | 1 | ... |
| 3 | 1 | 1 | 1 | 2 | ... |
| 4 | 1 | 2 | 2 | 2 | ... |
| 5 | 2 | 1 | 1 | 1 | ... |
| 6 | 2 | 2 | 1 | 1 | ... |
+------+---------+--------+---------+---------+---------+
我有一个类似于上面的表。 id
,user_id
和obj_id
是外键; created
和applied
是存储为整数的时间戳。我需要获得整行,按user_id
和obj_id
分组,最大值为applied
。如果两行具有相同的applied
值,则需要支持最大值created
。因此,对于上述数据,我需要的输出是:MySQL获得最大列与回退到第二列
+------+---------+--------+---------+---------+---------+
| id | user_id | obj_id | created | applied | content |
+------+---------+--------+---------+---------+---------+
| 1 | 1 | 1 | 1 | 1 | ... |
| 4 | 1 | 2 | 2 | 2 | ... |
| 5 | 2 | 1 | 1 | 1 | ... |
| 6 | 2 | 2 | 1 | 1 | ... |
+------+---------+--------+---------+---------+---------+
我目前的解决办法是让一切由applied
下令然后created
:
select * from data order by applied desc created desc;
,事情出在代码排序,但此表获取相当大,我想要一个SQL解决方案,获取我需要的数据。
➕1为ASCII艺术;但为了CVE:请添加您的初始查询。 –
@LinusKleen你是什么意思?我目前正在使用的查询或查询来复制上述数据? –
对不起。 “初始”如:“让你烦恼的人”。 –