午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

瀏覽:240日期: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免费 | 国产乱人伦精品一区二区 | 日本在线一级片 | 日本在线www | 69av在线视频 | 亚洲麻豆精品 | 涩婷婷| 成人午夜影院在线观看 | 九九热九九 | 黄色小视频在线观看 | 97国产超碰 | 少妇精品偷拍高潮白浆 | 亚洲第一在线 | 国产婷婷色一区二区三区 | 在线免费黄 | 中文字幕精品视频在线观看 | 久久精品国产精品 | 精品在线视频免费观看 | 黄色一级视频播放 | 男人的天堂av网站 | 亚洲精品高清在线观看 | www.久久.com| 欧美性猛交ⅹ乱大交3 | 黄色欧美网站 | 99热r| 久久久精品免费 | 影音先锋日韩资源 | 91福利区 | 91精品国产一区二区三区 | 黄色网页在线 | 日韩高清毛片 | 国产一级片免费视频 | 亚洲色图17p | 亚洲成人一区 | 狠狠操综合网 | 成人欧美激情 | 亚洲婷婷av | 狠狠爱视频 | 探花av在线 | 亚洲更新最快 | 亚洲色图狠狠干 |