一張表里有5個組咋么實作獲取每組隨機的2條資料
有沒有大神來解答喲
--
-- 表的結構 `table_3`
--
CREATE TABLE `table_3` (
`id` int(11) NOT NULL,
`name` varchar(30) CHARACTER SET utf8 DEFAULT NULL,
`zu` int(11) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- 轉存表中的資料 `table_3`
--
INSERT INTO `table_3` (`id`, `name`, `zu`) VALUES
(1, '張3', 1),
(2, '李四', 2),
(3, '張5', 3),
(4, '李四', 4),
(5, '張6', 5),
(6, '李12', 5),
(7, '張8', 3),
(8, '李1', 4),
(9, '張1234', 2),
(10, '李1', 1),
(11, '張34', 2),
(12, '李1gg', 1),
(13, '張34gg', 3),
(14, '李1ggggg', 4),
(15, '張34ggi', 5),
(16, '李1gffgg', 3),
(17, '321321', 2),
(18, '321321', 1),
(19, 'ffff', 3),
(20, 'gghhh', 4),
(21, 'ddsad', 5),
(22, 'ffsdds', 1),
(23, '滴滴', 3),
(24, '肥肥', 4),
(25, '花花 ', 1),
(26, '花花', 4);
uj5u.com熱心網友回復:
select * from table_3 order by rand() limit 2uj5u.com熱心網友回復:
with tx as(
select t.*,row_number() over(partition by t.zu order by t.id) Rn
from table_3 t
) select * from tx where tx.Rn<=4;

PS:版本需在mysql8.0以上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92423.html
標籤:MySQL
上一篇:【Java并發編程】鎖機制(三):synchronized優化方案&使用注意
下一篇:MSF基礎與應用
