2015-04-23 131 views
2
Name Value AnotherColumn 
----------- 
Pump 1 8000 Something1 
Pump 1 1000 Something2 
Pump 1 3000 Something3 
Pump 2 3043 Something4 
Pump 2 4594 Something5 
Pump 2 6165 Something6 

在这个表中,我想按名称列进行分组,并给出名称为value_exist的输出。mysql - 如果select语句中的语句

如果1000位于该名称组的任何值列中,则value_exist将为1。所以输出将是:

Name value_exist 
----------- 
Pump 1 1 
Pump 2 0 

回答

2

也许是这样的:

select name, MAX(CASE WHEN value=1000 THEN 1 ELSE 0 END) as value_exist 
from your_table 
group by name 
0
select name, sum(value = 1000) as value_exist 
from your_table 
group by name 
1

还有一个:

select name , max(if(value=1000,1,0)) as value_exist 
from table 
group by name;