我想用一个简单的SELECT语句和ORDER BY检索数据,但ORDER BY应该有一个回退。按顺序排列
那就是:我的记录已备案的name
和字段名sortkey
:
CREATE TABLE company
(`id` int, `name` varchar(10), `sortkey` varchar(10))
;
INSERT INTO company
(`id`, `name`, `sortkey`)
VALUES
(1, 'Azzz', ''),
(2, 'Bzzz', ''),
(3, 'Czzz', 'Aaa')
;
我想从一个SELECT语句得到的结果:
Czzz
Azzz
Bzzz
当我有一个sortkey
,使用它。如果不是,请使用字段name
。
Peudo代码:SELECT * FROM company ORDER BY name,sortkey (but prioritize the sortkey);
类似于:ORDER BY IF(sortKey!='',sortKey,name)'? (文档:http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html) – 2014-10-27 20:46:26
@RocketHazmat是的,看起来正是我所需要的。如果您将此作为答案发布,我会接受它。 – topskip 2014-10-27 20:47:45