sql 选择 排序后选择数据
答案:3 悬赏:10
解决时间 2021-01-18 10:03
- 提问者网友:
- 2021-01-18 02:32
sql 选择 排序后选择数据
最佳答案
- 二级知识专家网友:像个废品
- 2021-01-18 02:55
select * from (select id,type,time,rank() over (parttion by type order by time desc) rk from tablename) a where rk=1
全部回答
- 1楼网友:一秋
- 2021-01-18 04:27
--测试表
IF OBJECT_ID('t') IS NOT NULL DROp TABLE t
GO
CREATE TABLE t(
[id] int primary key,
Type NVARCHAr(10),
Time NVARCHAr(10))
GO
SET NOCOUNT ON
INSERT INTO t
SELECT 1,'A','1:05'
UNIOn ALL SELECT 2,'A','1:01'
UNIOn ALL SELECT 3,'B','1:09'
UNIOn ALL SELECT 4,'B','1:05'
UNIOn ALL SELECT 5,'C','1:12'
UNIOn ALL SELECT 6,'C','1:05'
GO
--结果
select s.id,s.Type,s.Time
from (
select *, row_number() over (partition by [Type] order by [Type]) as group_idx
from T
) s
where s.group_idx = 1
结果:
1A1:05
3B1:09
5C1:12
IF OBJECT_ID('t') IS NOT NULL DROp TABLE t
GO
CREATE TABLE t(
[id] int primary key,
Type NVARCHAr(10),
Time NVARCHAr(10))
GO
SET NOCOUNT ON
INSERT INTO t
SELECT 1,'A','1:05'
UNIOn ALL SELECT 2,'A','1:01'
UNIOn ALL SELECT 3,'B','1:09'
UNIOn ALL SELECT 4,'B','1:05'
UNIOn ALL SELECT 5,'C','1:12'
UNIOn ALL SELECT 6,'C','1:05'
GO
--结果
select s.id,s.Type,s.Time
from (
select *, row_number() over (partition by [Type] order by [Type]) as group_idx
from T
) s
where s.group_idx = 1
结果:
1A1:05
3B1:09
5C1:12
- 2楼网友:往事埋风中
- 2021-01-18 03:06
select (select top 1 id from table_1 b where b.[type]=a.[type] order by [time] desc) id, [type],max([time]) time1 from table_1 a group by [type] order by [type]
看看合不合你要求。
看看合不合你要求。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息