中易网

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
  • 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]

看看合不合你要求。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息