gpt4 book ai didi

sql - 从表中选择不同的前 4 条记录

转载 作者:行者123 更新时间:2023-12-04 23:44:20 28 4
gpt4 key购买 nike

我有以下 SQL Server 表

我想要下表中最新的所有前 4 个不同的代码
请记住,我希望返回所有列,而不仅仅是代码列。

sno  city      state  country  code  date
1 new york NY US 1234 1/1/2013
2 Houston TX US 2234 1/6/2013
3 LA CA US 1123 1/2/2013
4 Chicago IL US 1244 1/3/2013
5 Brooklyn NY US 1234 1/4/2013
6 Dallas TX US 2234 1/5/2013

我的以下选择查询返回重复代码,但我想要不同的最新代码。

select top 4 * from table1 where code in (select distinct code from table1) 

非常感谢任何帮助。

最佳答案

WITH topList
AS
(
SELECT sno, city, state, country, code, date,
ROW_NUMBER() OVER(PARTITION BY code ORDER BY DATE DESC) rn
FROM TableName
)
SELECT TOP 4 sno, city, state, country, code, date
FROM topList
WHERE rn = 1
ORDER BY DATE DESC

输出

╔═════╦══════════╦═══════╦═════════╦══════╦════════════╗
║ SNO ║ CITY ║ STATE ║ COUNTRY ║ CODE ║ DATE ║
╠═════╬══════════╬═══════╬═════════╬══════╬════════════╣
║ 2 ║ Houston ║ TX ║ US ║ 2234 ║ 1/6/2013 ║
║ 5 ║ Brooklyn ║ NY ║ US ║ 1234 ║ 1/4/2013 ║
║ 4 ║ Chicago ║ IL ║ US ║ 1244 ║ 1/3/2013 ║
║ 3 ║ LA ║ CA ║ US ║ 1123 ║ 1/2/2013 ║
╚═════╩══════════╩═══════╩═════════╩══════╩════════════╝

关于sql - 从表中选择不同的前 4 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15422267/

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