Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL A ou B mais PAS les deux

Quelque chose comme ceci devrait satisfaire la spécification :

SELECT f.bar 
  FROM frequents f
 WHERE f.drinker IN ('John','Rebecca')
 GROUP 
    BY f.bar
HAVING COUNT(DISTINCT f.drinker) < 2
  • obtenir tous les bar pour 'John' et/ou 'Rebecca'
  • réduire les lignes en une seule ligne pour chaque bar
  • obtenir un décompte de drinker pour chaque barre
  • ignorer les lignes qui comptent 2 (c'est-à-dire John et Rebecca)
  • ne laisser que les valeurs de bar pour John et non Rebecca ou vice versa