按ID和列排序查询

时间:2015-06-15 14:04:10

标签: mysql sql

我有一张表格显示了这些工作提供的信息,我首先查询了最新的工作和推荐的工作,但它没有工作。

标记的所有招聘广告都是“1”且不是“0”,但由于某种原因,该列建议不要订购。

建议列的数据类型为int。

这是我的问题:

SELECT * 
FROM jobs
WHERE active =  '1'
ORDER BY id_job DESC , recommend DESC  

2 个答案:

答案 0 :(得分:2)

就像现在一样,它首先按作业ID排序,如果有重复,则仅按推荐字段排序。我假设这些ID是唯一的,这意味着第二个“order by”部分基本上从未使用过。

尝试交换它。

SELECT * 
FROM jobs
WHERE active =  '1'
ORDER BY recommend DESC, id_job DESC

答案 1 :(得分:1)

当您按多个列排序时,排序在第一列完成,然后第二列用于断开第一列相同的行之间的关系;当第一列和第二列中的值相同时,第三列用于打破平局,依此类推。

在你的情况下,这意味着订单在id_job上,这可能是唯一的,所以没有任何关系可以打破。

更改列的顺序应该有所帮助:

SELECT * 
FROM jobs
WHERE active =  '1'
ORDER BY  recommend DESC  , id_job DESC