22,209
社区成员
发帖
与我相关
我的任务
分享
select top(4) * from(
select *, ID=row_number() over (partition by 类别 order by newid()) from stquestion
where know in (select know from KLTree where Lessionid =" + Session["Lid"].ToString() + ")) as t
where id=1
order by newid()
--1.字段ID唯一时:
SELECT * FROM #T AS T WHERE ID IN(SELECT TOP 1 ID FROM #T WHERE GID=T.GID ORDER BY Date DESC)
--2.如果ID不唯一时:
SELECT * FROM #T AS T WHERE 1=(SELECT COUNT(*) FROM #T WHERE GID=T.GID AND Date>T.Date)
-- SQL 2005
select top(4) 类别, 分数
(select *, rid=row_number() over (partition by 类别 order by newid()) from tabA) t
order by rid
select * from
(
select top 1 * from tb where 类别='a'order by newid()
union all
select top 1 * from tb where 类别='b' order by newid()
union all
select top 1 * from tb where 类别='c' order by newid()
union all
select top 1 * from tb order by newid()
) as t
order by newid()
select top 1 from tb where 类别='a'order by newid
union all
select top 1 from tb where 类别='b' order by newid
union all
select top 1 from tb where 类别='c' order by newid
union all
select top 1 from tb order by newid