0
votes

Comment puis-je obtenir une liste de lignes distinctes par qui a le drapeau 1 et 0

J'ai une table avec des sessions d'utilisateurs. Colonnes - UserID, SessionID, Terminé (bit).

Je veux obtenir la liste des utilisateurs ayant terminé = 0 et terminé = 1


1 commentaires

Nous avons besoin d'un exemple de données pour y travailler et des résultats souhaités, ce serait également bon si vous fournissez ce que vous avez essayé de résoudre votre problème.


3 Réponses :


3
votes

La requête ci-dessous retournera que l'ID utilisateur a à la fois les 0 et 1 des entrées de colonne complétées.

SELECT UserId
FROM Users
WHERE Completed IN (0, 1)  
GROUP BY UserId
HAVING COUNT(DISTINCT Completed ) = 2


0 commentaires

0
votes
    Select distinct userid from sessions where completed=1
    Intersect
    Select distinct userid from sessions where completed=0
The intersect gets only users in both sets

1 commentaires

Juste un code? Vous ne pensez pas que vous devriez expliquer un peu ce que ce code fera?



1
votes

Je ferais:

select userid
from suers
group by users
having min(completed) = 0 and max(completed) = 1;


0 commentaires