我的数据库中的每个自定义设备都有自己的行
对于每个客户,我保存了他购买的产品以及何时需要新产品
但有时客户会有更多的产品,比如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" ...,所以在雅各布的第一个例子中,彼得第二,安娜最后。
答案 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;