我有一个类似于这样的表: STOCK_ID TRADE_TIME PRICE VOLUME 123 1 5 100 123 2 6 150 456 1 7 200 456 2 8 250 对于每个股票我想获得最新价格(最新的只是最大交易时间)和汇总交易量,所以对于上表我想看到
STOCK_ID TRADE_TIME PRICE VOLUME 123 1 5 100 123 2 6 150 456 1 7 200 456 2 8 250
对于每个股票我想获得最新价格(最新的只是最大交易时间)和汇总交易量,所以对于上表我想看到:
123 6 250 456 8 450
我刚刚发现当前查询没有(总是)工作,即无法保证所选价格始终是最新的:
select stock_id, price, sum(volume) group by stock_id
这可能没有子查询吗?谢谢!
因为你没有指定你正在使用的数据库这里有一些通用的SQL可以做你想要的.SELECT b.stock_id, b.trade_time, b.price, a.sumVolume FROM (SELECT stock_id, max(trade_time) AS maxtime, sum(volume) as sumVolume FROM stocktable GROUP BY stock_id) a INNER JOIN stocktable b ON b.stock_id = a.stock_id and b.trade_time = a.maxtime