在数据条数不足的情况未测试:
表结构如下:


刘德华,周润发,未命名三个分组,每组三条数据
实现三个分组,每组取一条数据
SQL如下:
SELECT
*
FROM
(
(
SELECT
g.id,
g.project_id,
g.group_name,
g.group_user_id,
ug.user_name
FROM
t_group g,
t_user_group ug
WHERE
g.id = ug.group_id
)
) m
WHERE
1 > (
SELECT
count(*)
FROM
(
SELECT
g.id,
g.project_id,
g.group_name,
g.group_user_id,
ug.user_name
FROM
t_group g,
t_user_group ug
WHERE
g.id = ug.group_id
) n
WHERE
n.group_user_id = m.group_user_id
AND n.id < m.id
)
ORDER BY
group_user_id
本文探讨了在数据量有限的情况下,如何通过复杂的SQL查询来实现分组取样的技术。具体示例展示了从每个分组中选取一条数据的方法,这对于理解和优化数据库查询效率具有重要意义。
1071

被折叠的 条评论
为什么被折叠?



