0
BY ORDER I가 잘 작동이 쿼리MySQL의 GROUP BY가 가입하고
$query = "SELECT
beva_post.*,
CONVERT_TZ(beva_post.date_published, '-00:00', '+00:00') as moment,
beva_rubrique.titre_en,
beva_user.image_user
FROM beva_post
LEFT JOIN beva_user
ON beva_user.id_user = beva_post.id_user
LEFT JOIN beva_rubrique
ON beva_rubrique.id_rubrique = beva_post.id_rubrique
LEFT JOIN beva_post_like
ON beva_post_like.id_post = beva_post.id_post
WHERE beva_post.id_user != ''
AND beva_post.flag = 'true' ";
$query .= "ORDER BY beva_post.id_post DESC ";
$query .= "LIMIT 50";
하지만 id_user에 의해 같은 가장이없는 id_post의 DESC가 아니라 id_post하여이 쿼리를 주문하고 싶습니다 (DESC)
beva_post_like 테이블에서 beva_post_like 테이블은 다음과 같습니다
+-------------+--------------+
| id_post | id_user |
+-------------+--------------+
| 1 | 20 |
| 1 | 11 |
| 1 | 10 |
| 2 | 20 |
| 2 | 50 |
| 1 | 15 |
+-------------+--------------+
내가 beva_post_like 가입 왼쪽에서 GROUP BY와 시도했지만 작동하지 않습니다!
더 많은 쿼리를 사용해야합니까? 당신의 도움에 대한
감사합니다 ...
크리스
당신의 대답 후 나는 이런 짓을하지만, 난 여전히 '처럼'끝에
$query = "SELECT
beva_post.*,
COUNT(beva_post.id_post) as cpt,
CONVERT_TZ(beva_post.date_published, '-00:00', '+00:00') as moment,
beva_rubrique.titre_en,
beva_user.image_user
FROM beva_post
LEFT JOIN beva_user
ON beva_user.id_user = beva_post.id_user
LEFT JOIN beva_rubrique
ON beva_rubrique.id_rubrique = beva_post.id_rubrique
LEFT JOIN beva_post_like
ON beva_post_like.id_post = beva_post.id_post
WHERE beva_post.id_user != ''
AND beva_post.flag = 'true' ";
$query .= "GROUP BY beva_post.id_post ";
$query .= "ORDER BY cpt DESC ";
$query .= "LIMIT 50";
사용자가 가장 좋아하는 사람들이 게시물을 주문해야합니다. 어떤 것도 갖고 있지 않은 포스트는 쇼가되어야하지만 결국에는 끝나야합니다. – Chris
아니요 작동하지 않습니다! – Chris
왜 작동하지 않습니까? 'GROUP BY'가 결과를 반환하지 않았습니까? 새 검색어로 첫 번째 소식을 수정할 수 있습니까? – Damien