婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql隨機抽取一定數量的記錄實例講解

mysql隨機抽取一定數量的記錄實例講解

熱門標簽:福建外呼系統定制化 怎么在地圖標注位置生成圖片 美國反騷擾電話機器人 騰訊地圖標注提升 真人語音電話機器人 銅陵防封電銷卡 400電話可以免費申請嗎 電銷卡外呼系統供應商 悟空科技電話機器人

以前碰見這種使用場景都是直接order by rand()來處理的,但是效率實在是不敢恭維,所以最近又碰見這種場景,在網上找尋下比較好的解決辦法.

1.order by rand()

寫法:

SELECT
  id
FROM
  `table`
ORDER BY
  rand()

這種寫法的缺點是rand函數在order by中被執行多次,影響效率。

2.max(id) * rand() 使用join

寫法:

SELECT
  *
FROM
  `table` AS t1
JOIN (
  SELECT
    ROUND(
      RAND() * (
        (SELECT MAX(id) FROM `table`) - (SELECT MIN(id) FROM `table`)
      ) + (SELECT MIN(id) FROM `table`)
    ) AS id
) AS t2
WHERE
  t1.id >= t2.id
ORDER BY
  t1.id
LIMIT 1;

網上的大佬們都推薦第二種寫法,特此記錄下,感覺最大id和最小id可以放在程序里來計算。

這里有個問題是如果取多條 那么一定是連續的,所以如果是不想取連續數據,得循環,不過此語句效率極高,所以循環查詢是可以做的。

以上就是全部相關知識點內容,有需要的朋友們可以學習下,感謝大家對腳本之家的支持。

標簽:烏海 湖南 臨汾 湖北 白銀 聊城 云浮 武威

巨人網絡通訊聲明:本文標題《mysql隨機抽取一定數量的記錄實例講解》,本文關鍵詞  mysql,隨機,抽取,一定,數量,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql隨機抽取一定數量的記錄實例講解》相關的同類信息!
  • 本頁收集關于mysql隨機抽取一定數量的記錄實例講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜黄县| 宜州市| 南皮县| 大理市| 正阳县| 左云县| 鹰潭市| 湘阴县| 汤原县| 湘乡市| 垣曲县| 手游| 崇阳县| 青州市| 新乐市| 蒙自县| 新营市| 孟津县| 丹江口市| 长垣县| 金门县| 岱山县| 汨罗市| 开封市| 石门县| 茌平县| 蕉岭县| 渝中区| 静乐县| 黄骅市| 齐河县| 黑龙江省| 治多县| 松滋市| 饶阳县| 永川市| 兰州市| 扎赉特旗| 城固县| 伊吾县| 榆林市|