0
다음 MySQL 상황에 문제가 있습니다. 여러 개의 열로 구성된 MySQL GROUP 단독
나는 다음과 같은 테이블 구조를 가지고 :+----+---------+-----------------+------------------+--------------------------------------+------------+
| id | author | recipient | type | data | date |
+----+---------+-----------------+------------------+--------------------------------------+------------+
| 2 | 1 | 0 | added_item | { "item_id": "18" } | 1352982623 |
| 11 | 1 | 7 | started_follow | | 1353030567 |
| 9 | 1 | 0 | added_collection | { "collection_id": "18" } | 1352994561 |
| 12 | 7 | 1 | started_follow | | 1353030952 |
| 8 | 1 | 1 | started_follow | | 1352987839 |
| 14 | 1 | 0 | added_collection | { "collection_id": "19" } | 1353056624 |
| 15 | 7 | 0 | added_collection | { "collection_id": "20" } | 1353056731 |
| 16 | 1 | 7 | started_follow | | 1353057009 |
| 17 | 7 | 0 | added_item | { "item_id": "21" } | 1353057054 |
| 24 | 2 | 0 | added_image | { "image_id": "3", "item_id": "23" } | 1353419642 |
| 23 | 2 | 0 | added_item | { "item_id": "23" } | 1353419159 |
| 22 | 2 | 0 | added_collection | { "collection_id": "22" } | 1353419146 |
| 25 | 2 | 0 | added_image | { "image_id": "4", "item_id": "23" } | 1353419644 |
| 26 | 2 | 0 | added_image | { "image_id": "5", "item_id": "23" } | 1353419646 |
| 27 | 2 | 0 | added_collection | { "collection_id": "23" } | 1353419953 |
| 28 | 2 | 0 | added_item | { "item_id": "24" } | 1353419961 |
| 29 | 2 | 0 | added_image | { "image_id": "6", "item_id": "24" } | 1353419982 |
| 30 | 2 | 0 | added_item | { "item_id": "25" } | 1353420424 |
| 31 | 2 | 0 | added_image | { "image_id": "7", "item_id": "25" } | 1353420435 |
+----+---------+-----------------+------------------+--------------------------------------+------------+
내가 뭘하고 싶은 것은 그룹에게 author
및 type
필드가 동일 초, 다수 내의 모든 이야기이다. 여기
type
는
users
당 발생
SELECT `activity`.`id` AS `id`
FROM `activity`
INNER JOIN `user_privacy` ON `user_privacy`.`user_id` = `activity`.`author`
WHERE (
`activity`.`author` =2
OR `activity`.`recipient` =2
)
AND `user_privacy`.`include_stream` =1
GROUP BY ROUND(UNIX_TIMESTAMP(DATE) /300) , `type`
ORDER BY `activity`.`date` DESC
LIMIT 300
내가 SQLFiddle 데모를 설정 한 여기>http://sqlfiddle.com/#!2/2b5f4/1. 데이터가 위의 설명 및 질의 사용을 감안할 때
는, 나는 다음과 같은 id
의를 반환하고 싶습니다 :
- 22
- 23
- 24
- 27
- 28
- 31
고맙습니다. – BenM