聘我网

新概念招聘3.0

MySQL中如何实现order by两个列中交大的一个值?

vote up0vote downstar
create table jobs(
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
        .....
        salaryminus INTEGER UNSIGNED DEFAULT NULL,
        salaryplus INTEGER UNSIGNED DEFAULT NULL,
        .....
);

现在想要实现类似:

Select * from jobs order by maxof(salaryminus, salaryplus) limit 10;

其中maxof(Null,1000)应该等于1000

 

1 个答复

vote up0vote down

使用

order by coalesce(salaryplus, salaryminus, 0)

coalesce将返回第一个不为NULL的值。

链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.