0
votes

Demandes de filtrage avec la même PK mais différentes clés de valeur

J'ai les données suivantes xxx

de l'exécution xxx

  1. Que ferais-je pour que je puisse filtrer et avoir des tuples uniques des personnes qui sont à la fois dormir et éveillées? E.g: Amy et Helen.

  2. Comment puis-je obtenir les tuples des personnes qui ne sont que endormis / éveillé?


2 commentaires

Appliquer n'existe pas dans MySQL.


Woops a oublié de changer cela. Appliquer était mon ancien nom de table Hhaha


3 Réponses :


1
votes

L'agrégation est une façon de trouver des personnes qui sont à la fois éveillées et endormies: xxx

Entrez la description de l'image ici

Démo

Nous pouvons essayer quelque chose de similaire Pour trouver des personnes avec un seul statut: xxx

Entrez la description de l'image ici

Démo


2 commentaires

Dans la deuxième partie, il affiche les personnes avec un statut mais pour les deux statuts. Si je devais le faire, mais pour les personnes qui ne sont éveillées que (pas de Bob), comment je filtrerais cela?


@ user10416282 Utilisez cette clause avec ma deuxième requête: ayant min (statut) = max (statut) et min (statut) = 'éveillé'



0
votes

Utiliser groupe par

Le groupe par instruction est souvent utilisé avec des fonctions agrégées (comptage, max, min, somme, AVG) pour regrouper les résultats par une ou plusieurs colonnes.

https://www.w3schools.com/sql/sql_groupby.asp


0 commentaires

0
votes

Vous pouvez essayer ci-dessous -

    SELECT sid, name
    FROM yourTable
    WHERE status IN ('Sleep', 'Awake')
    GROUP BY sid, name
    having(distinct status)=2


0 commentaires