gpt4 book ai didi

带有聚合列的每组 SQL 最新记录

转载 作者:行者123 更新时间:2023-12-01 10:11:45 26 4
gpt4 key购买 nike

我有一个类似于这样的表:

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

关于带有聚合列的每组 SQL 最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4513205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com