![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 13.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam was bardzo serdecznie, własnie zacząłem uczyć się php i mysql. I mam pewien problem. Nigdzie nie mogłem znaleźć trafnego przykładu.
Pisze aplikacje konkursową. TABELA Zgłoszenia: ID Zgłoszenia TRESC UZYTKOWNIK TABELA GLOSY: IDGLOSU: IDZGLOSZENIA: IP USERAGENT Relacja 1 - wielu. I teraz mam pytanie. Chciałem zrobić sortowanie po największej/najmniejszej ilości głosów. Nie bardzo wiem jak bym miał się za to zabrać. Musiałbym policzyć (chyba używając count) liczbę głosów i jakoś powiązać to ze zgłoszeniami. Nie bardzo wiem jak to zapytanie miało by składniowo wyglądać. Proszę o pomoc. Dziękuje wam z góry dobrzy ludzie ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 13.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Nie znałem czegoś takiego jak GROUP BY
![]() Zapytanie zwraca tylko wpisy które mają jakiekolwiek głosy oddane. A ja bym chciał żeby pokazywał wszystkie. Łącznie z tymi które nie mają żadnego. Dodatkowo zapomniałem o tym wspomnieć mam coś takiego jak DataPotwierdzeniaGłosu. Jeśli jest ==0 to wtedy chciałbym żeby nie zliczało tego głosu. Dość istotne w tym zapytaniu. Postaram się coś sam wykombinować ale jakbyś mi pomógł jeszcze to będę wdzięczny. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
W takim razie musisz grupować po tym ID z tabeli zgloszenia
więc, nie:
a:
No, a tamto z "==0" załatwisz zwykłym
To już są podstawy, na które musisz sam wpaść. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 13.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Oj nie do końca tak jak mówiłeś bo zmiana tej grupy niczego nie zmienia; ) Doczytałem w książce że chodzi o leftjoina
![]() ![]() Cytat "SELECT count(glosy.idzgloszenia) as count, zgloszenia.*
FROM zgloszenia left JOIN glosy ON glosy.idzgloszenia = zgloszenie.idzgloszenia and datapotwierdzenia!=0 GROUP BY zgloszenia.idzgloszenia ORDER BY count ASC"; Ten post edytował bonekdg 18.07.2013, 22:35:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:15 |