sql2000,返回随机记录
在SQL2000中,假设有表t,t有2个字段:ID(标识列),Name,表中有100条记录
问:如何通过查询语句随机返回5条记录,也就说要得到记录中5个不重复的Name
说明:只讨论用sql,因为这只是问题的简化版,不要讨论数组。另外,如果需要也可以增加辅助列。当然如果是通过全表更新随机数据再排序返回也不是我需要的。
麻烦大家了。
[解决办法]
SELECT TOP 5 * FROM TORDER BY NEWID()
[解决办法]
select top 5 * from t as a where not exists(select 1 from t where Name=a.Name and ID<a.ID) order by newID()或select top 5 min(ID) as ID,Name from t group by Name order by newID()
[解决办法]
随机取记录
大版写的SQL可能会出现相同Name的最大那一行永远也取不到吧