婷婷综合国产,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隨機抽取一定數量的記錄實例講解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 丰原市| 开阳县| 博客| 车致| 桐城市| 邮箱| 遂溪县| 香港| 砀山县| 穆棱市| 正蓝旗| 平凉市| 理塘县| 九龙坡区| 天峨县| 利辛县| 鲜城| 兴隆县| 卢氏县| 贵定县| 松阳县| 辛集市| 黔江区| 凉城县| 安丘市| 彩票| 东乌| 太湖县| 临朐县| 大英县| 资源县| 吴桥县| 广州市| 揭阳市| 梁河县| 彭州市| 江川县| 鹿邑县| 洪洞县| 太原市| 南平市|