나는 매우 이상한 일을하고 단순히 어떻게해야할지 모릅니다. uid
이 작업을하고 entity_id
은 누구이며, state
이 (다음 또는 팔로우 해제) 작업의 상태,MySQL에서 행의 최신 상태 가져 오기
+------+-----------+-------------+-------+------------+
| 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
액션이 만들어졌다있는 타임 스탬프를 보유 : 이것은 내 테이블과 데이터입니다 뒤따라오고있는 엔티티 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)
쓰레기 데이터 만 반환합니다. 나는 아이디어가 없어. 어떤 도움이 필요합니까?
'... ORDER BY created DESC LIMIT 1'? – Bobby