我一直想知道如何按时间顺序排列行,但也要将带有额外标志的行放在一起。
具体来说,我有一张有订单的table
数据:
| created | customer | ...
| 2020-01-01 | xyz | ...
| 2020-01-10 | abc | ...
| 2020-01-12 | xyz | ...
| 2020-01-15 | xyz | ...
| 2020-01-19 | abc | ...
| 2020-01-20 | abc | ...
期望结果:
| created | customer | ...
| 2020-01-01 | xyz | ...
| 2020-01-12 | xyz | ...
| 2020-01-15 | xyz | ...
| 2020-01-10 | abc | ...
| 2020-01-19 | abc | ...
| 2020-01-20 | abc | ...
所以我非常需要“按客户创建的订单”,但是“客户”需要按他们最早的订单来订购。
我希望这有道理。谢谢你的帮助。
4条答案
按热度按时间mrzz3bfm1#
加入一个查询,返回每个客户最早的订单,并按最早的日期对表进行排序:
请看演示。
结果:
vof42yt12#
oaxa6hgo3#
可以在中使用窗口函数
order by
. 所以:请注意
customer
包含在最短的创建日期之后。这确保了如果两个客户具有相同的创建日期,那么他们的数据不会全部混合在一起。iq3niunx4#
你可以试试这个