sql随机抽取数据50条
‘壹’ 镐庢牱浠巗ql鏁版嵁搴扑腑涓娆¢殢链鸿诲彇涓𨱒℃暟鎹锛岃屼笖浠ュ悗闅忔満璇诲彇鍑虹殑鏁版嵁涓嶈兘鍜屼互鍓嶆疮娆¢殢链鸿诲彇鍑虹殑鏁版嵁閲嶅嶏纻
涓涓绠鍗旷殑锷炴硶鏄浣犲彟澶栧缓涓涓铡嗗彶璁板綍琛,姣忔¢梾棰樻娊鍑烘潵钖庢妸闾i梾棰樻彃鍒板巻鍙茶〃涓,褰扑綘鎶戒笅涓鎻愭椂鍙鎶藉彇铡嗗彶琛ㄤ腑涓嶅瓨鍦ㄧ殑棰樼洰灏卞彲浠ヤ简.
‘贰’ 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) + "*自动编号字段)"
‘叁’ SQL语句如何按照概率随机抽取数据
--题目没有表达清楚,我就写个差不多的sql给你吧。
--通过case语句来判断返回一个概率
selectid,state
casestatewhen1then0.1when2then0.3else0.05endas概率
from表a
‘肆’ 有一个mysql的数据表,我要随机抽取10条记录,用什么方法最好。
1.通过MYSQL内置的函数来慧没悉操作,察袭具体SQL代码如下:
SELECT * FROM tablename ORDER BY RAND() LIMIT 10
2.不要将大量的工作给数据库去做,这样会导致数据库在某一集中并发时间内锁死并阻塞。前乎
建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:
SELECT * FROM tablename where ID in (2,8,4,11,12,9,3,1,33)
可能你还要进行重复排除,并且需要在程序中将10个值串联并连接进入SQL语句中。