gpt4 book ai didi

SQL查询每天最新记录

转载 作者:行者123 更新时间:2023-12-04 21:55:14 24 4
gpt4 key购买 nike

我有一个 Oracle 10g 数据库,其中有一个表,其结构和内容与以下内容非常相似:

CREATE TABLE MyTable
(
id INTEGER PRIMARY KEY,
otherData VARCHAR2(100),
submitted DATE
);

INSERT INTO MyTable VALUES (1, 'a', TO_DATE('28/04/2010 05:13', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (2, 'b', TO_DATE('28/04/2010 03:48', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (3, 'c', TO_DATE('29/04/2010 05:13', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (4, 'd', TO_DATE('29/04/2010 17:16', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (5, 'e', TO_DATE('29/04/2010 08:49', ''DD/MM/YYYY HH24:MI));

我需要做的是查询数据库以获取每天提交的最新记录。例如,对于上述数据,我希望返回 ID 号为 1 和 4 的记录,因为它们分别是 4 月 28 日和 4 月 29 日的最新记录。

不幸的是,我对 SQL 缺乏专业知识。有人可以提供一些关于如何实现这一目标的见解吗?

提前致谢!

最佳答案

我会使用公共(public)表表达式(又名 CTE),如下所示:

With RankedItems As
(
Select Id, otherdata, submitted
, ROW_NUMBER() OVER( PARTITION BY TO_CHAR(submitted, 'YYYY-MM-DD') ORDER BY submitted DESC ) ItemRank
From MyTable
)
Select
From RankedItems
Where ItemRank = 1

关于SQL查询每天最新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734532/

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