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) + "*自動編號欄位)"