다음 SQL 쿼리가 있습니다.반복 횟수를 기준으로 MySQL을 어떻게 날짜순으로 정렬합니까?
SELECT p.`id`, p.`data`, p.`title`, p.`creation_date`, t.`name` AS 'tag'
FROM `post_tag` pt, `post` p, `tag` t
WHERE p.`id` = pt.`post`
AND pt.`tag` = t.`id`
AND p.`author` <> '1'
AND (t.`name` = 'Programming'
OR t.`name` = 'Photography'
OR t.`name` = '[...]')
ORDER BY p.`creation_date`, t.`name` DESC
는 그리고 내 결과 테이블은 다음과 같다 : 나는 스크린 샷에서 강조했듯이
는, ID 76 및 77 행이 반복됩니다. 내 응용 프로그램의 경우, 그것은 "인기"의 척도입니다.
-
"데이터"에 의해 다음, 첫 번째 행 "인기"에 의해 하나의 행 (내가 GROUP BY와 함께이 작업을 수행 할 수있어)
- 주문으로 반복
- 그룹 행 "나는 할 수 있도록하려면 생산 일". 같은 "데이터"3 개 행이 경우에 따라서는 나는 등, 즉 2의 수와 행 다음에 먼저 반환 할
'COUNT BY 데이터 ORDER BY GROUP (id) DESC, p.creation_date, t.name DESC'가 작동해야합니다 – Vatev
인기있는 데이터에 둘 이상이있을 것이므로 creation_date에 의한 주문이란 무엇을 의미합니까? min (p.creation_date) 또는 max (p.creation_date)로 주문할 수 있습니다. – ysth
@ysth 좋은 지적! 나는 MIN (p.creation_date)에 의한 주문이이 경우에 더 좋을 것이라고 생각한다. – Redandwhite