av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

mysql - 有張訂單表,假設有個2個手機號,每個手機號都有5個訂單,如何用一個sql實現每個手機號隨機取3個訂單?

瀏覽:124日期:2022-06-22 08:31:46

問題描述

CREATE TABLE `order` ( `order_id` int(11) NOT NULL AUTO_INCREMENT, `phone` bigint(20) NOT NULL DEFAULT ’0’ COMMENT ’手機號’, PRIMARY KEY (`order_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

有什么可以不用union all的方法嗎,因為這個是我簡化的模型,實際業務中,這個phone的數量可能很多。

SELECT phone, GROUP_CONCAT(order_id ORDER BY rand())FROM `order`WHERE phone IN (11, 22)GROUP BY phone

上面這個方法還是取出了所有數據,GROUP_CONCAT函數不支持limit關鍵字。

問題解答

回答1:

(SELECT `order_id` FROM `order` WHERE `phone`=’$phone1’ LIMIT 3 ORDER BY rand())UNION ALL(SELECT `order_id` FROM `order` WHERE `phone`=’$phone2’ LIMIT 3 ORDER BY rand())

只用SQL完成的話,這樣最簡單,但是 ORDER BY rand() 性能很差。最好就是拿出一定數量的記錄,然后在程序中隨機再選擇三條。

主站蜘蛛池模板: 久久国产免费 | a在线播放 | 免费在线观看黄 | 国产精品一区二区免费 | a在线免费观看 | 91免费福利 | 在线欧美日韩 | 欧美一级淫片免费视频魅影视频 | 天天天天躁天天爱天天碰2018 | 在线免费看黄色 | 日韩免费在线观看 | 伊人精品在线 | 欧美激情第二页 | 欧美日韩亚洲一区二区三区 | 天堂色av | 日韩在线播放视频 | 亚洲精品网站在线观看 | 国产成人三级一区二区在线观看一 | a视频在线观看 | 日韩欧美在线观看视频 | 久久久久久精 | 成人黄色在线观看 | 日韩中文一区 | 久久综合一区 | 国产精品少妇 | 香蕉视频一区二区三区 | 美日韩一区 | 亚洲青涩 | 亚洲最大黄色网址 | 国产3p视频| 国产精品tv | 中文字幕在线观看日本 | 国产成人a亚洲精品 | 久久a视频 | 九九99久久 | 欧美视频一区 | 精品视频一区二区三区四区 | 一区二区欧美日韩 | 五月天婷婷在线观看 | 中文字字幕在线中文 | 国产精品久久久久久久成人午夜 |