最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql隨機(jī)抽取一定數(shù)量的記錄實(shí)例講解

 更新時(shí)間:2019年09月06日 15:13:28   作者:沉默的土豆  
在本篇文章里小編給大家整理的是關(guān)于mysql隨機(jī)抽取一定數(shù)量的記錄實(shí)例相關(guān)知識點(diǎn),有需要的朋友們可以學(xué)習(xí)下。

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

1.order by rand()

寫法:

SELECT
  id
FROM
  `table`
ORDER BY
  rand()

這種寫法的缺點(diǎn)是rand函數(shù)在order by中被執(zhí)行多次,影響效率。

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;

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

這里有個(gè)問題是如果取多條 那么一定是連續(xù)的,所以如果是不想取連續(xù)數(shù)據(jù),得循環(huán),不過此語句效率極高,所以循環(huán)查詢是可以做的。

以上就是全部相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下,感謝大家對腳本之家的支持。

相關(guān)文章

最新評論

宜宾县| 海晏县| 海兴县| 抚州市| 汶上县| 尤溪县| 江达县| 廊坊市| 怀远县| 河源市| 隆德县| 武穴市| 湘乡市| 太白县| 灵璧县| 兴山县| 炉霍县| 个旧市| 塘沽区| 和顺县| 稷山县| 朝阳市| 平顺县| 德惠市| 柳林县| 板桥市| 财经| 兴隆县| 宝山区| 多伦县| 墨江| 沁阳市| 安新县| 瑞丽市| 靖江市| 横山县| 容城县| 新化县| 丰都县| 于田县| 铁岭市|