我有一件很奇怪的事情要做,只是不知道该怎么做。这是我的表格及其数据:
+------+-----------+-------------+-------+------------+
| uid | entity_id | entity_type | state | created |
+------+-----------+-------------+-------+------------+
| 3913 | 1105 | 1 | 0 | 1340617072 |
| 3913 | 1105 | 1 | 1 | 1340617042 |
| 3913 | 3930 | 1 | 0 | 1340617071 |
| 3913 | 3930 | 1 | 1 | 1340617036 |
+------+-----------+-------------+-------+------------+
created
保存已执行操作的时间戳,是操作state
的状态(已关注或未关注),uid
是执行操作的人,并且entity_id
是正在关注/取消关注的实体 ID。
我正在尝试进行查询,以获取entity_id
当前用户关注的所有信息。首先我使用的是:
SELECT entity_id FROM follow_objects WHERE uid=? AND entity_type=?
但是我注意到,如果我关注某人然后取消关注他们,我仍然会得到那个人的结果,因为它有 2 个条目(状态 = 1,然后状态 = 0)。
所以我需要获取具有最新created
列的行,这意味着该操作是最新的。所以我试过:
SELECT entity_id FROM follow_objects WHERE uid=? AND entity_type=? group by entity_id HAVING created=MAX(created)
它只返回垃圾数据。我没主意了。有什么帮助吗?