![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pewien problem - nie mogę sobie poradzić z zapytaniem, które by wybierało dane na takiej zasadzie: tabela votes:
tabela surveys:
Pożądany wynik: Chcę uzyskać tabelę, która będzie zawierać 2 kolumny: - tytuły wszystkich ankiet (survey_title) - zliczoną ilość unikalnych głosów na daną ankietę (unikalnych = takich, które mają jednakowy votes.vote_time) Dla SQL'a powyżej tabela taka powinna wyglądać tak: survey_title | votes Ulubione kolor. | 4 Jaką porę roku.. | 1 Próbowałem na różne sposoby, ale jedyne, co mi się udało osiągnąć, to jest rekord, który zliczał te powtórzenia dobrze, no ale właśnie był to tylko jeden rekord, a ja chcę uzyskać wszystkie rekordy i county dla każdego tytułu ankiety. Czy może mi ktoś pomóc? Będę bardzo wdzięczny. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Prawie. Tzn. wszystko ok, za wyjątkiem tego, że wpisy się powtarzają:
survey_title count(*) Ulubione kolory. 5 Ulubione kolory. 5 Ulubione kolory. 5 Ulubione kolory. 5 Jaką porę roku lubisz najbardziej? 1 Jak to zmodyfikować, aby się nie powtarzały? Chciałbym jeszcze móc zastosować na końcu limit - w tym zapytaniu działa ok. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zapytanie działa tak jak chciałeś:
" Pożądany wynik: Chcę uzyskać tabelę, która będzie zawierać 2 kolumny: - tytuły wszystkich ankiet (survey_title) - zliczoną ilość unikalnych głosów na daną ankietę (unikalnych = takich, które mają jednakowy votes.vote_time) " Zapytanie to grupuje głosy na daną ankietę po "votes.vote_time". W przypadku podanych danych wejściowych, występują różne głosowania na tą samą ankietę ( o różnym votes.vote_time ). Chyba że chcesz żeby zbierało wszystkie głosowania na dana ankietę, niezależnie od votes.vote_time ( czyli suma wszystkich głosowań na daną ankietę ), wtedy zapytanie by wyglądało tak:
LIMIT by ci tutaj tematu nie załatwił, bo obciąłbyś tylko niektóre wyniki głosowania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale wynik wcześniejszego zapytania jest taki:
survey_title count(*) Ulubione kolory. 5 Ulubione kolory. 5 Ulubione kolory. 5 Ulubione kolory. 5 Jaką porę roku lubisz najbardziej? 1 Powtarzają się ankiety. Czy da się coś z tym zrobić? Żeby wynik wyglądał tak: survey_title count(*) Ulubione kolory. 5 Jaką porę roku lubisz najbardziej? 1 //różni się tym, że nie powtarzają się ankiety po title może ktoś pomóc? naprawdę pilne! Wreszcie udało mi się dojść jakoś do tego... rozwiązanie:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:21 |