web-dev-qa-db-fra.com

EAV - Nombre () / SUM () sur les valeurs de colonne et de ligne avec et sans nulls

Supposer qu'il y a une table

démo

avec ces données:

identifiantiD de l'utilisateurtitreles données
11DATE01-01-2021
21COULEURROUGE
32DATE
42COULEURJAUNE
53DATE04-01-2021
63COULEURROUGE
54DATE04-01-2021
64COULEURROSE
sept5DATE02-01-2021
85COULEURROSE
sept6DATE08-01-2021
86COULEURROSE

Si les données de la date de la ligne est vide, la couleur n'est pas encore ramassée.

La vue d'ensemble des informations que j'ai besoin pour afficher sur le site Web Page PHP est :

Ramassé de rouge: 2
Red Total: 2

Ramassé du jaune: 0
Jaune Total: 1

Ramassé du rose: 3
[.____] Total rose: 3

1
Richard Joosten
SELECT t2.data Color, SUM(t1.data IS NOT NULL) PickedUp, COUNT(*) Total
FROM demo t1
JOIN demo t2 USING (userID)
WHERE t1.title = 'DATE'
  AND t2.title = 'COLOR'
GROUP BY t2.data;

violon

0
Akina