四种数据库随机获取10条数据的方法
2015-06-16 11:34
483 查看
四种数据库随机获取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) + "*自动编号字段)"
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) + "*自动编号字段)"
相关文章推荐
- Mysql数据库的优化技术方面
- Sql Server用户名和登录名的关系总结
- Execl数据导入SQL Server
- 数据库优化
- C# 连接SQLSERVER数据库 连接字符串
- 50条SQL查询技巧、查询语句示例
- xtrabakup简介和安装可能出现的问题
- oracle 基本操作练习——简单的sql语句
- 水浒卡牌蛮牛 动软代码生成器辅助开发数据库
- 应用MySQL数据库的实现本地BLAST及BLAST2GO
- sql 关联更新
- MongoDB实战开发 【零基础学习,附完整Asp.net示例】
- 基于时间点的恢复
- 事务隔离级别的理解
- 大型Oracle数据库设计方案(精华)
- Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 5 days
- mysql中字符串连接
- Oracle自动备份脚本
- mysql连接慢的问题
- Mysql中创建序列的方法