从最开始的日期开始按日期排序

时间:2016-11-18 16:37:04

标签: php mysql sql

我的数据库中的每个自定义设备都有自己的行 对于每个客户,我保存了他购买的产品以及何时需要新产品 但有时客户会有更多的产品,比如2-3 某些行的示例:

id  |  customername | product1 | dateneednew1   | product2 |dateneednew2  
1.  | Jacob ....... | a product| 2017-11-18 ... | a product| 2016-12-01
2.  | Anna ........ | a product| 2016-12-10 ....| a product| 2017-10-10
2.  | Peter ....... | a product| 2016-12-05 ... | a product| 2017-08-10

现在我想订购所有" dateneednew1" - " dateneednew2" ...,所以在雅各布的第一个例子中,彼得第二,安娜最后。

2 个答案:

答案 0 :(得分:0)

按顺序排序 -

least(dateneednew1,dateneednew2)

如果列可以包含NULL -

least(coalesce(dateneednew1,'3000-01-01'),coalesce(dateneednew2,'3000-01-01'))

如果列可以包含' 0000-00-00'作为默认日期(糟糕的设计) -

least(coalesce(nullif(dateneednew1,'0000-00-00'),'3000-01-01'),coalesce(nullif(dateneednew2,'0000-00-00'),'3000-01-01'))

答案 1 :(得分:0)

您可以使用LEAST()

使用两个或多个参数,返回最小(最小值)参数。

select *from customor order by least(dateneednew1,dateneednew2) asc;
相关问题