【发布时间】:2014-01-24 03:45:45
【问题描述】:
我有以下名为“timtest”的示例表:
itemcode qty_available date
apple 0 1/23/2014
apple 96 1/27/2014
apple 136 2/15/2014
orange 12 1/23/2014
orange 48 2/5/2014
peach 0 1/23/2014
peach 300 2/5/2014
peach 315 2/10/2014
peach 330 2/15/2014
banana 0 1/23/2014
pineapple 24 1/23/2014
我只想要 itemcode 列中每个唯一值的一个实例。选择为每个唯一项目代码选择哪一行的标准基于数量大于零和任何数量大于零的最快日期可用。如果今天有大于零的可用数量,我想返回该行。如果今天日期可用的数量为 0,我想在最近的将来找到下一个可用记录,其中任何数量大于零并返回该行。如果今天的数量为零并且没有其他未来日期,我想返回显示为零的行。此表永远不会有过去的日期,所有记录都会有一个带有今天日期的条目。
这是从上述样本数据中得到的期望结果集,考虑到今天是1/23/2014:
itemcode qty_available date
apple 96 1/27/2014
orange 12 1/23/2014
peach 300 2/5/2014
banana 0 1/23/2014
pineapple 24 1/23/2014
你能帮我正确查询吗?
【问题讨论】:
标签: mysql sql distinct partitioning