我有一个对id有多个数值的表。比如表中id = 200的值是value_id =(337,22,878,4,10,99),id = 201的值是value_id =(337,22,878,99)。
我使用group_concat函数来获取id的所有值。
现在我希望将不包含值的ID总数计为4。
为此,我尝试了许多像
的东西结果:我总是收到错误代码:1111。无效使用组功能
select manager_profile_id,group_concat(value_id) as all_data
from managers
where manager_profile_id =487 and team_id=2
GROUP BY manager_profile_id HAVING all_data !=4 ;
答案 0 :(得分:0)
你可以这样做:
select manager_profile_id, group_concat(value_id) as all_data
from managers
where manager_profile_id = 487 and team_id = 2
group by manager_profile_id
having sum( value_id = 4 ) = 0;
答案 1 :(得分:0)
在你的问题中不清楚你的id(例如:200)是一个新列还是manager_profile_id(在我的查询中我使用id为此) 您可以使用非IN
排除与valud_id = 4相关的ID select
manager_profile_id
,group_concat(value_id) as all_data
from managers
where manager_profile_id =487 and team_id=2
and where id not in ( select distinct id from managers where value_id = 4 )