我有一个mysql查询,它为少数具有不同值的ID返回多行。在这种情况下,我需要用某些数据消除ID。
示例
我需要为所有那些具有多个名称的ID划分A1,如果它只有一个值A1,那么我应该能够显示它。
结果应如下所示:
ID Name Value
1 A1 AA
1 B1 AB
2 C1 CC
3 A1 AA
4 A1 AA
4 E1 AD
4 B1 AB
请为此解决方案
答案 0 :(得分:0)
这可能非常难看,但至少可以完成工作:
select id, name, value from (
select f.*, c.count
from <TABLE> f, (select *, count(*) as 'count' from <TABLE> group by id) c
where f.id = c.id
) c
where (name = 'A1' and count = 1) or name != 'A1'
group by id
您将获得id = 4