澄清一下,你能用这种方法来排序吗?使用ORDER BY按值排序?
ORDER BY CompanyID = XXX DESC
我想要做的是使用一个SQL查询来排序X = Y,在这种情况下,其中CompanyID = XXX。公司ID不是XXX的所有值都应在公司ID = XXX的所有结果之后。
我不想限制我的查询,但我确实想要将某个公司排序在其他列表上方。
澄清一下,你能用这种方法来排序吗?使用ORDER BY按值排序?
ORDER BY CompanyID = XXX DESC
我想要做的是使用一个SQL查询来排序X = Y,在这种情况下,其中CompanyID = XXX。公司ID不是XXX的所有值都应在公司ID = XXX的所有结果之后。
我不想限制我的查询,但我确实想要将某个公司排序在其他列表上方。
您所查询的是罚款。 CompanyID = xxx
在比赛中产生1,否则为0。只需将CompanyID列添加为次级订单列即可。
ORDER BY CompanyID = XXX DESC, CompanyID ASC
这样,你记录中,其中CompanyID你恒定的第一,那么剩下的比赛都井然有序。
或者,你可以这样做:
ORDER BY CompanyID <> XXX ASC, CompanyID ASC
你也许可以伪造出来
SELECT CompanyID, IF(CompanyID = XXX, -1, CompanyID) AS sortby
FROM companies
ORDER BY sortby DESC
+1使用4个空格或Ctrl-K使代码显示为代码:) – Andomar 2010-04-05 16:02:59
您可以通过在命令使用的情况下,如:
order by case when CompanyID = XXX then 1 else 2 end
CASE eh?每天学些新东西。 – Kevin 2010-04-05 17:36:52
你可能想在你的顺序使用CASE语句的表达尝试。当公司ID与您的首选公司匹配时,返回0,否则返回1.然后按照公司名称的顺序按照次要顺序按列排序。
order by case when CompanyID = XXX then 0 else 1 end, CompanyName
你有你的首选公司在顶部这样的话,那么所有的名字(或但是你想它订购)字母,其余秩序。
我会试试这个。 – Kevin 2010-04-05 17:36:11
不是很确定一个解决这个的,但是'... ORDER BY CompanyID = XXX'肯定是不对的。也许你可以尝试类似'... WHERE CompanyID LIKE XXX ORDER BY CompanyID DESC' – themoondothshine 2010-04-05 16:02:23