sql - 检索一组的随机行

标签 sql sql-server sql-server-2008 t-sql

我有一个包含以下列的表格

1. ID
2. UserID
3. ImageUrl

我想为每个 UserID 检索一个随机 ImageUrl。例如表中有4行

 1 12251 Winter.jpg
 2 12251 Summer.jpg 
 3 33333 Fall.jpg
 4 33333 Spring.jpg

并且查询检索以下行

 1 12251 Winter.jpg
 4 33333 Spring.jpg

最佳答案

select userid,picture from
(
select userid, picture, ROW_NUMBER() over (partition by userid order by newid()) rn 
from yourtable
) v
where rn =1
order by xtype

关于sql - 检索一组的随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898994/

相关文章:

mysql - 检查表 sql 中是否存在值

sql - 在 SQL Server 2005 中找不到数据类型日期

c# - 将表名传递给 dbContext 并从 Entity Framework 中的表中获取值

sql-server - SQL数据仓库: Incorrect syntax near 'OFFSET'

sql-server - 无法获取有关 Windows NT 组/用户的信息

sql - 如何在Sql Server GROUP BY格式的日期中按日期排序?

mysql - 子查询:on 子句不明确

sql-server - 使用 OPENROWSET 通过 SQL Server 提供程序查询 Active Directory 时出错

sql - 在 SQL Server 2008 Management Studio 中查找存储过程

sql - 我有一个到数据库的 LINQ-to-Entities 连接 - 如何将数据插入到该数据库中?