group可不可以实现这个种查询
select TableA.goodsid,TableA.price,TableB.timewritten from TableB,TableA TableB.seqid=TableA.seqid group by TableA.goodsid,TableA.price,TableB.timewritten
可不可以在产生的分组中进行排序和只显示每个小组的第一个记录呢,
谢谢,
------解决方案--------------------如果 GOODSID, PRICE两列一样,楼主想取TIMEWRITTEN 是什么样的,随便一个就可以,还是最大,最小
------解决方案--------------------select TableA.goodsid,TableA.price,max(TableB.timewritten) from TableB,TableA TableB.seqid=TableA.seqid group by TableA.goodsid,TableA.price
是这样吗?
------解决方案--------------------select TableA.goodsid,max(TableB.timewritten) from TableB,TableA TableB.seqid=TableA.seqid group by TableA.goodsid
------解决方案--------------------select TableA.goodsid,max(PRICE),max(TableB.timewritten) from TableB,TableA TableB.seqid=TableA.seqid group by TableA.goodsid
------解决方案--------------------select *
from
(
select t.*,row_number() over(partition by goodsid order by timewritten desc) rn
from
(
select TableA.goodsid,TableA.price,TableB.timewritten from TableB,TableA
where TableB.seqid=TableA.seqid
)t
)tt
where tt.rn=1