我有一个按国家/地区列出的本地化结果列表。我想首先获得有效国家 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
你有什么想法吗?
最佳答案
你可以使用这个:
ORDER BY (country != 3), anno_id DESC
这将在顶部显示国家/地区 = 3 的行,按 anno_id desc 排序,然后在底部显示国家/地区 = 3 的所有行,按 anno_id desc 排序。
关于Mysql 对结果进行排序而不排除其他结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15267038/