A. 使用sql语句随机获取数据
SQL
Server-->
SELECT
TOP
50
*
FROM
TAB_USERS
ORDER
BY
NEWID();
ORACLE-->
SELECT
*
FROM
(SELECT
*
FROM
TAB_USERS
ORDER
BY
DBMS_RANDOM.RANDOM())
WHERE
RONUM<=50
MYSQL-->
SELECT
*
FROM
TAB_USERS
ORDER
BY
RAND()
LIMIT
50
{
ACCESS-->
SELECT
TOP
50
*
FROM
TAB_USERS
ORDER
BY
RND([字段])
这条语句在ACCESS中的查询结果是正确的,但在ASP.NET等后台代码要写成如下:
Random
random=new
Random(System.Guid.NewGuid().GetHashCode());
int
val=random.Next();
string
sql="SELECT
TOP
50
*
FROM
TAB_USERS
ORDER
BY
RND("+(-r)+"字段)";
}
B. C#或者 SQL Server 生成的 GUID 有没有可能重复
理论上,是N多年以后才会有重复的。就像MD5知道破解,但没有超级蠢枝厅计算机,普通计算机搭拆是带隐N多年才可以破解一样的道理
C. sql 表里的字段GUIDE如何自动生成
select newid() 可生成GUID
也可在程序里,如C#
Guidid=new Guid();
string sql =" insert t value('"+id.ToString()+"')";
D. mysql guid字段名叫什么
mysql中guid的字段名可以自定义。
如:
创建表:
CREATETABLE`tbl_test_measure`(
`code`CHAR(36)NOTNULL,
`name`VARCHAR(10),
PRIMARYKEY(`code`)
)
插入数据:
isnertinto`tbl_test_measure`values(GUID.NewGuid(),'哈哈');
其中GUID.NewGuid()就是生成的guid。
E. hive 中有没有类似SQL SERVER中newid()功能的关键字,我想实现随机抽取
C# 中 用GUID
Console.WriteLine(Guid.NewGuid());
Console.WriteLine(Guid.NewGuid().ToString("D"));
Console.WriteLine(Guid.NewGuid().ToString("N"));
F. sql 随机抽取几条数据的方法 推荐
四种数据库随机获取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) + "*自动编号字段)"