问题标题可能有点模糊,所以随意将它改成更有意义的东西,我找不到合适的单词。如何按多列排序但不按价值排序?
因此,这里是我的问题:
在我的表有2分重要的列
- DATE_ADDED(datetime值)
- special_price(数字)
special_price或者是NULL
或数字值取决于特殊价格。
,我将描述我想现在为了我的结果的方式:
首先,我想看看没有按日期(最新的在前)下令special_price(NULL
)的所有项目,然后我想看到的具有special_price的商品(因此除NULL
之外的其他商品)按日期排序。
起初,我尝试这样:
SELECT * FROM products ORDER BY special_price, date_added DESC
这对于第一部分伟大的工作,所有的special_price值,其中NULL
,但是当它开始与这并已下令对价值special_price的项在special_price栏中。这是有道理的,因为在查询中我想先按special_price排序。
那么,我该如何让查询忽略special_price的值,并看看它是否是NULL
?所以我按日期排列所有NULL
,然后按日期排列所有NOT NULL
。
尼斯和简单的,单一的SELECT +1 – gbn
完美的是什么!我自己从来没有想过这件事。 – Pieter888