我们有客户的主桌。 我想在一个下拉列表中显示所有客户的列表。 但是,我想要一个客户即“一般”在名单的顶端。 我使用了以下查询。
SELECT * FROM `client` ORDER BY FIELD(`CLIENT_NAME`,'General')
Query返回结果,但General不是结果列表中的第一个记录。 我又问了几个问题,但没有运气。
SELECT * FROM `client` ORDER BY FIELD(`CLIENT_NAME`,'General') ASC
SELECT * FROM `client` ORDER BY `CLIENT_NAME`,FIELD(`CLIENT_NAME`,'General')
SELECT * FROM `client` ORDER BY `CLIENT_NAME`,FIELD(`CLIENT_NAME`,'General') ASC
我修复了,优化了,检查了表但没有任何区别。 以上所有查询都返回结果。 所以,我不太清楚,这个怎么调试?
问题是否与服务器上的MySQL版本有关? 还是问题出在MySQL本身? 我们的服务器上有MySQL5.0。
谢谢,桑迪普
你就快到了,你需要的是:
SELECT * FROM `client` ORDER BY FIELD(`CLIENT_NAME`,'General') DESC, `CLIENT_NAME`
这将首先按名称是否为“General”排序,然后按客户端名称排序。