我有一个包含两列“id”和“布局计划”的表
我需要查看所有具有相同布局计划的行
我使用这个查询。
select *
from project_layout
group by layout_plan
having count(layout_plan) > 1
但是这个查询只返回第一行。
我想查看所有具有相同布局计划的组。
我有一个包含两列“id”和“布局计划”的表
我需要查看所有具有相同布局计划的行
我使用这个查询。
select *
from project_layout
group by layout_plan
having count(layout_plan) > 1
但是这个查询只返回第一行。
我想查看所有具有相同布局计划的组。
如果您使用未分组且没有聚合的列,则 MySQL 以外的数据库会出错。但是 MySQL 将从组的行中返回一个不确定的值。
要检索layout_plan
多于一行的组中的所有行,您可以使用:
select *
from project_layout
where layout_plan in
(
select layout_plan
from project_layout
group by
layout_plan
having
count(*) > 1
)
尝试这个,
select * from project_layout
where layout_plan in (select layout_plan
from project_layout
group by layout_plan
having count(layout_plan) > 1)
Select a.*
from project_layout
INNER JOIN
(
select layout_plan
from project_layout
group by layout_plan
having count(layout_plan ) > 1
) b ON a.layout_plan = b.layout_plan
为了获得更快的性能,请添加一个index
on 列layout_plan