也许我正在看这一切都错了。我有这张桌子,价格。当我报告新价格时,它进入表格并具有类型,价格,工作日和日期。我可以得到结果,但我希望列出的站点数和不同的燃料类型及其价格在列中。
以下是一个示例表http://sqlfiddle.com/#!2/8c04c/1
这就是我想要的,每一站每个站的最新价格:
---------------------------------------------------------------------------------------------------------------------------------
stationid | regular | regDateAdded | midgrade | midDateAdded | premium | preDateAdded
---------------------------------------------------------------------------------------------------------------------------------
52775 | 3.61 | 0000-00-00 00:00:00 | 3.71 | 0000-00-00 00:00:00 | 3.81 | 0000-00-00 00:00:00
也许我也在考虑这个问题。
答案 0 :(得分:1)
虽然这会导致联系(如果多个站共享相同的最大日期添加),这是使用max
聚合将表连接到自身的常用方法:
select p.stationid, p.price, p.fueltypeid, p.dateadded
from prices p
join (select stationid, max(dateadded) maxdateadded
from prices
group by stationid) p2 on
p.stationid = p2.stationid and p.dateadded = p2.maxdateadded