gpt4 book ai didi

sql - 如何从表中获取几个最高值?

转载 作者:行者123 更新时间:2023-12-02 22:13:43 25 4
gpt4 key购买 nike

我有一个像这样的表

id  f1
--------------
1 2000-01-01
1 2001-01-01
1 2002-01-01
1 2003-01-01

我想获取一行中的最新 3 个日期

CREATE TABLE Test
(
id INT NOT NULL,
f1 DATETIME NOT NULL,
)

INSERT INTO Test (id, f1) VALUES (1, '1/1/2000')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2001')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2002')
INSERT INTO Test (id, f1) VALUES (1, '1/1/2003')

SELECT T1.* FROM Test as T1

正在尝试类似的事情

         SELECT T1.*,T2.* 
FROM Test AS T1
LEFT OUTER JOIN Test AS T2 ON T1.id = T2.id AND (T2.f1 > T1.f1)

最佳答案

虽然我不确定如何将它们放入一行,但您可以从以下开始:

SELECT * FROM Test ORDER BY f1 DESC LIMIT 3

这应该给你一个像这样的结果:

id  f1
1 2003-01-01
1 2002-01-01
1 2001-01-01

不过,将它们放在一行中可能会有点困难......

关于sql - 如何从表中获取几个最高值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4054713/

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