Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] zapytanie pobierające dwa razy z jednej tabeli, raz z użyciem COUNT()
krzywy36
post 7.11.2011, 16:43:35
Post #1





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


mam tabele users, w niej m.in pola takie jak login i id polecającego. Jak powinno wyglądać zapytanie, które wyciągnie z bazy wszystkich użytkowników i doda pole "poleconych" zawierające ilość poleconych na podstawie id polecajacego? wink.gif Mam nadzieje, że zrozumiale to napisałem.


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post
Sephirus
post 7.11.2011, 18:39:21
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Załóżmy że mamy przykładowo:

id | login | polecony

zapytanko:

  1. SELECT login, COUNT(polecony) AS liczba_poleconych FROM users GROUP BY login


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
krzywy36
post 7.11.2011, 18:54:45
Post #3





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


nie działa / nie o to mi chodziło, zaraz pokaże przykładowe dane:

Kod
id | login  | polecajacy_id
1    user1          NULL
2    user2            1
3    user3            1
4    user4            3
5    user5            2


i teraz chciałbym żeby zapytanie zwróciło coś takiego:

Kod
id | login  | poleconych
1    user1           2
2    user2           1
3    user3           1
4    user4           0
5    user5           0


Edit:
znalazłem rozwiązanie
Kod
SELECT u.login, (SELECT COUNT(*) FROM users WHERE users.polecajacy_id = u.id) AS poleconych FROM users AS u

(jakieś problemy z [mysql])

Temat do zamknięcia.

Ten post edytował krzywy36 7.11.2011, 19:09:57


--------------------
pretty as a shit.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:29