每个type都查找前面10条记录的sql语句
表当中有个列是来区分模块的
比如表A
A.Name A.TypeID
老王 1
老李 2
老陈 4
A.TypeID是随时都可以增加,随时都可以减少的
我现在要每个TypeID都查找前面10条数据出来 ,sql语句要如何写?
[解决办法]
declare @sql varchar(8000)
set @sql = ' '
select @sql = @sql + ' union all select top 10 * from a where TypeID= ' + cast(TypeID as varchar) from A
set @sql = stuff(@sql,1,11, ' ')
exec(@sql)
[解决办法]
一楼的有点小问题,应该是:
declare @sql varchar(8000)
set @sql = ' '
select @sql = @sql + ' union select top 2 * from TableName where TypeID= ' + cast(TypeID as varchar) from TableName
set @sql = stuff(@sql,1,7, ' ')
Print @sql
exec(@sql)
[解决办法]
你试过也忘记加group by 了
人家要的是 "每个TypeID都查找前面10条数据出来 "
别在这掐了,干活了