我们有一个客户的主表。我想在下拉列表中显示所有客户端的列表。但是,我希望在列表的顶部有一个客户,即"General“。我使用了下面的查询。
SELECT * FROM `client` ORDER BY FIELD(`CLIENT_NAME`,'General')查询返回结果,但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本身?我们在服务器上安装了MySQL 5.0。
谢谢,桑迪普
发布于 2020-06-15 18:48:48
你就快成功了,你需要的是:
SELECT * FROM `client` ORDER BY FIELD(`CLIENT_NAME`,'General') DESC, `CLIENT_NAME`这将首先按名称是否为"General“排序,然后按客户端名称排序。
https://stackoverflow.com/questions/62386495
复制相似问题