• 售前

  • 售后

热门帖子
入门百科

四种数据库随机获取10条数据的方法

[复制链接]
李志敏 显示全部楼层 发表于 2021-8-14 14:58:05 |阅读模式 打印 上一主题 下一主题
四种数据库随机获取10条数据的方法
SQL Server:
复制代码 代码如下:
SELECT TOP 10 * FROM T_USER ORDER BY NEWID()

ORACLE:
复制代码 代码如下:
SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10

MySQL:
复制代码 代码如下:
SELECT * FROM T_USER  ORDER BY  RAND() LIMIT 10

Access:
复制代码 代码如下:
SELECT TOP 10 * FROM T_USER ORDER BY rnd([一个自动编号字段])

这条语句在 Access 中的“查询”中是可以运行并得到随机效果的,但在 ASP.NET等配景程序代码中却无法得到预期的随机效果。
正确的写法如下:
以ASP.NET为例:
复制代码 代码如下:
Random random = new Random(System.Guid.NewGuid().GetHashCode());
int r = random.Next();
string sql = "SELECT TOP 10 * FROM T_USER ORDER BY RND(" + (-r) + "*自动编号字段)"

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作