Mysql排序结果不排除其他结果

时间:2013-03-07 09:09:51

标签: mysql sql-order-by

我按国家/地区列出了本地化结果。我首先想先获得有效国家X的结果,然后再获得其他国家的结果。这可能吗?

如果我设置“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

你有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用:

ORDER BY (country != 3), anno_id DESC

这将在顶部显示country = 3的行,按anno_id desc排序,然后在底部显示国家!= 3的所有行,按anno_id desc排序。

答案 1 :(得分:1)

  

SELECT * FROM {yourtable {1}} {国家{1}}国家

这将按国家x排序,然后是其他国家/地区。