2012-01-20 8 views
0

私はこのクエリを持っている:MySQL:ORDER BYは結合で無視されますか?

SELECT c.id, c.title AS label, m.url, img.filename, img.set_id, 
m.keywords AS meta_keywords, m.keywords_overwrite AS meta_keywords_overwrite, 
m.description AS meta_description, m.description_overwrite AS meta_description_overwrite, 
m.title AS meta_title, m.title_overwrite AS meta_title_overwrite, m.data AS meta_data 
FROM photogallery_categories AS c 
INNER JOIN photogallery_categories_albums AS ca ON ca.category_id = c.id 
INNER JOIN photogallery_albums AS i ON i.id = ca.album_id 
INNER JOIN photogallery_sets_images AS img ON i.set_id = img.set_id 
INNER JOIN meta AS m ON m.id = c.meta_id 
WHERE c.language = ? AND i.hidden = ? AND i.publish_on <= ? AND i.num_images > 0 
GROUP BY c.id ORDER BY i.sequence DESC, img.sequence DESC 

しかし、私のORDER BYが完全に無視されますか? これを解決する方法に関するご提案はありますか?

+1

本当ですか?これは起こらないはずですが、結果がソートされない理由はありません。多分あなたは結果を誤解しているかもしれません... – GolezTrol

+1

SELECT i.sequence、img.sequence、....で始まり、出力を投稿してください –

答えて

1

i.sequenceをフィールドリストに追加してください。また、集計関数を含まないので、なぜGROUP BYを使用していますか? GROUP BYの代わりにDISTINCTを使用できますか?

+0

グループを削除してそれを削除します。 –

関連する問題