Tak, myślałem, że się całkiem dobry MySQL aż wpadłem na ten pomysł:wybrać użytkowników, którzy downvoted ale nigdy upvoted
Mam rejestrowania tabeli „głosy” (o wdzięcznej nazwie votes
) z tych pól:
id
: Unikalny identyfikator głosowania.user
: Unikalny identyfikator użytkownika osoby, która głosowałaitem
: Identyfikator elementu oni głosując navote
: Głosowanie rzucili SET ('w górę', 'w dół')
Teraz próbuję wymyślić sposób SQL, aby znaleźć użytkowników, których tylko głosy są spadkowe. Znam sposób, aby napisać to proceduralnie w php po zapytaniu o większość danych z tabeli, ale wydaje się naprawdę, naprawdę nieskuteczne, aby to zrobić, gdy tylko kilka zapytań może to stwierdzić.
Idealnie chciałbym, aby mój wynik był po prostu listą użytkowników, którzy mają 0 przegranych (ponieważ będąc w tabeli oznacza, że głosowali, więc tylko przegłosują) i może liczba odrzuconych głosów została odrzucona.
Jakieś pomysły na to, jak powinienem się do tego podejść?
możliwe duplikat [conajmniej jeden X, ale nie Ys Query] (http://stackoverflow.com/questions/9626965/atleast-one-x-but-no- Zapytanie ys) –
Oh wow, to jest bardzo podobne, miłe! – Tim
Zostawiłem komentarz do drugiego pytania (które, jak sądzę, ma dobrą odpowiedź i było trochę wcześniej), że potrzebuje lepszego, bardziej przyjaznego SEO tytułu. Nie wiem, co by to było, per se, ale nie sądzę * [Przynajmniej jeden X ale bez zapytania Ys] (http://stackoverflow.com/questions/9626965/at-least-one-x -but-no-ys-query) * wystarczająco dobrze działa, aby opisać, co to znaczy. –