¿Hay alguna function agregada de MySQL para "CONTIENE"?

Digamos que tengo este set de datos

   usuario |  grupo
 -------- + -------
 a@a.com |  UN
 a@a.com |  segundo
 b@b.com |  UN
 c@c.com |  segundo
 d@d.com |  UN
 d@d.com |  segundo
 d@d.com |  do

Quiero convertir esto en una tabla como esta:

   usuario |  IN_A |  IN_B |  Cª
 -------- + ------- + ------- + -------
 a@a.com |  VERDADERO |  VERDADERO |  FALSO
 b@b.com |  VERDADERO |  FALSO |  FALSO
 c@c.com |  FALSO |  VERDADERO |  FALSO
 d@d.com |  VERDADERO |  VERDADERO |  CIERTO

Tengo:

 SELECCIONAR
   usuario,
   IF (LOCATE ('A', GROUP_CONCAT (grupo))> 0, TRUE, FALSE) COMO IN_A,
   IF (LOCATE ('B', GROUP_CONCAT (grupo))> 0, TRUE, FALSE) COMO IN_B,
   IF (LOCATE ('C', GROUP_CONCAT (grupo))> 0, TRUE, FALSE) COMO IN_C
 FROM usuarios
 GRUPO POR usuario

Lo que me pregunto es si hay una mejor manera de saber si un campo agregado contiene un valor, o si esta es la única forma.

La forma correcta de hacerlo:

SELECT user, IF(SUM(group = 'A'), TRUE, FALSE) AS IN_A, IF(SUM(group = 'B'), TRUE, FALSE) AS IN_B, IF(SUM(group = 'C'), TRUE, FALSE) AS IN_C FROM users GROUP BY user 

Supongo que esta es la única manera, es decir, GROUP_CONCAT

Puedes probar algo como esta pieza:

 SELECT distinct user, IF(EXISTS (SELECT users_a.user from users as users_a where users_a.group = 'A' and users_a.user = users.user), TRUE, FALSE) as IN_A, IF(EXISTS (SELECT users_b.user from users as users_b where users_b.group = 'B' and users_b.user = users.user), TRUE, FALSE) as IN_B, IF(EXISTS (SELECT users_c.user from users as users_c where users_c.group = 'C' and users_c.user = users.user), TRUE, FALSE) as IN_C FROM `users` WHERE 1 

Probado aquí funciona bien!

No estoy seguro de cuántos grupos tendrá, pero si es un número finiate, le sugiero que cree una columna para cada grupo o use el tipo de datos mysql SET (enmascaramiento de bits).

No estoy seguro de si esta es la forma en que haces las cosas (ya que soy bastante nuevo aquí), pero si ese es el ejemplo que estás usando, ¿no sería más fácil tener las columnas de usuario, IN_A, IN_B e IN_C? Especialmente dado que de esa manera no repetiría los datos del usuario nuevamente