[英]how to calculate number of views to post in asp.net c# and mysql database
[英]select 1 random number from mysql database using asp.net c#
如何從ID為autoincrement字段的數據庫中選擇1個隨機數。我在數據庫中有25,000個[ID]記錄。每次選擇一個新的隨機ID。 如何得到它。
您可以使用以下查詢來生成介於0到COUNT
-1個表行之間的隨機數:
SELECT ROUND((RAND() * (SELECT COUNT(*) FROM mytable)-1))
然后將此數字用作查詢的LIMIT
子句中的偏移量 ,以從表中獲取隨機行。
使用准備好的語句 ,您可以執行以下操作:
SET @offset = (SELECT ROUND((RAND() * (SELECT COUNT(*) FROM mytable)-1)));
PREPARE STMT FROM 'SELECT * FROM mytable LIMIT ?, 1';
EXECUTE STMT USING @offset;
請注意,由於本手冊中所述,必須使用預處理語句:
LIMIT接受一個或兩個數字參數,這兩個參數都必須是非負整數常量 ( 使用prepared語句時除外 )。
使用以下sql(慢)
'SELECT * FROM tablename ORDER BY RAND() LIMIT 1'
或者你可以使用(快速)
SELECT * FROM myTable, (SELECT FLOOR(MAX(myTable.id) * RAND()) AS randId FROM myTable) AS someRandId WHERE myTable.id = someRandId.randId
內部SELECT為您提供正確范圍內的隨機ID。 外部SELECT在表中查找右行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.