0

国ごとにローカライズされた結果のリストがあります。最初に有効な国 X の結果を取得し、次に同じ国で他の結果を取得したいと思います。それは可能ですか?

where "anno_country" = 1 を設定すると、他の国の結果が除外されます。「国別注文=3」みたいなのをお願いしたいのですが…

現在、これは私のMySQLクエリです:

SELECT DISTINCT * 
FROM (`annonce`) 
JOIN possede USING (`anno_id`) 
JOIN annonceur USING (`ann_id`) 
JOIN lang_pays USING (`pays_id`) 
JOIN cat_lang USING (`cat_id`) 
WHERE 
    `cat_id` IN ('4', '9', '5', '426', '6', '435', '7', '3', '8', '2') 
    AND 
    `anno_active` = 1 
    AND 
    `anno_mode` = 1 
    AND 
    `cat_lang`.`lang_id` = '3' 
    AND 
    `lang_pays`.`lang_id` = '3' 
ORDER BY `anno_id` desc

アイデアはありますか?

4

2 に答える 2

1

これを使用できます:

ORDER BY (country != 3), anno_id DESC

これにより、country = 3 の行が上部に anno_id desc の順序で表示され、country!=3 のすべての行が下部に anno_id desc の順序で表示されます。

于 2013-03-07T09:11:38.633 に答える
1

SELECT * FROMあなたのテーブルORDER BY (の国= 'X') DESC,

これは国 x の順に並べ替えられ、次に他の国が続きます。

于 2013-03-07T09:15:49.753 に答える