我有一张表格显示了这些工作提供的信息,我首先查询了最新的工作和推荐的工作,但它没有工作。
标记的所有招聘广告都是“1”且不是“0”,但由于某种原因,该列建议不要订购。
建议列的数据类型为int。
这是我的问题:
SELECT *
FROM jobs
WHERE active = '1'
ORDER BY id_job DESC , recommend DESC
答案 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