MYSQL 咋么样获取分组后随机的2条数据 在线等大神!!!

hebe418 2018-02-04 04:10:38
一张表里有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);
...全文
1210 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞啊子 2018-04-13
  • 打赏
  • 举报
回复

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以上。
ACMAIN_CHM 2018-02-05
  • 打赏
  • 举报
回复
select * from table_3 order by rand() limit 2

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧