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 回答