sql - 按条件选择具有最大 CreatedOn 组的行
问题描述
select
Container, CreatedOn, *
from
Inventory_container
where
container in (select IC.Container
from INVENTORY_CONTAINER IC
inner join CONTAINER C on IC.Container = C.Container
where C.ContainerClassID = '100000011'
group by IC.Container
having count(IC.Container) >= 2)
以下是查询结果:
如您所见,有 2 行的类似容器我想选择最新创建的行。
请帮助编辑我的查询。
解决方案
如果您使用的是 SQL Server,请尝试以下查询:
SELECT *
FROM (
SELECT *, ROW_NUMBER()OVER(PARTITION BY Container ORDER BY CreatedOn) AS RowNo
FROM INVENTORY_CONTAINER IC INNER JOIN CONTAINER C ON
IC.Container=C.Container
WHERE C.ContainerClassID='100000011'
GROUP BY IC.Container,CreatedOn
HAVING COUNT(IC.Container)>=2
) AS T
WHERE RowNo = 1
推荐阅读
- python - 有没有办法使用 yfinance 只调用日期?
- thymeleaf - Thymeleaf 聚合:这两个表达式有什么不同
- javascript - js:如何将疼痛文本作为 javascript 代码运行
- python - 如何从以某个字符开头的单词列表中找到一个随机单词?
- matlab - 如何检测 LFM 信号
- excel - 为什么我用 Excel VBA 减去两个数字时会出现小数错误?
- javascript - 如何从 ngx-select-dropdown 中取消选择多个值作为 false?(重复问题)但未提供问题
- python - Python中的LinkedList数据结构解释
- c# - Asp .Net Core 3.1 突然收到错误 500.30
- android - 仅为特定硬件创建应用程序