2013-03-07 118 views
0

我有一个国家的本地化结果列表。我首先想先得到有效的国家X的结果,然后是其他国家的结果。那可能吗?Mysql排序结果不排除其他结果

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

你有一个想法?在底部

ORDER BY (country != 3), anno_id DESC 

这将在顶部显示出与国家= 3排,由anno_id降序排序,然后所有国家行数= 3,通过anno_id降序排序:

回答

1

您可以使用此! 。

+0

作品像一个魅力 – 2013-03-08 15:06:50

1

SELECT * FROM yourtable ORDER BY (国家= 'X') DESC,国家

这将命令由X国的第一,其他国家。