Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Jak wyciągnąć liczbe (miast) w zapytaniu
Forum PHP.pl > Forum > Bazy danych
lagos
Witam potrzebuje wyświetlić liczbe miast np:Kraków 5
  1. SELECT* FROM `oferty` WHERE `miasto` IN(SELECT `miasto` FROM `oferty` GROUP BY `miasto` HAVING (count(`miasto`) > 5))


Na razie wyświetlam to powyższym zapytanie lecz miasta wyświetlaj sie (jeśli kraków jest w bazie 5 to wyświetlają się w oddzielnych liniach a ja potrzebuje tylko informacji ile wpisów z danych miast posiadam w bazie).
Berg
  1. SELECT COUNT(`miasto`) FROM `oferty` WHERE `miasto` = 'Kraków'



Zwróci liczbę rekordów które mają ustawione Kraków jako miasto.
lagos
Potrzebuje coś bardziej rozwiniętego czyli aby wyświetlić wszystkie miasta jakie posiadam w bazie i dla każdego liczbę ile razy się powtarza dane miasto
Berg
Na 100% nie jestem pewien ale jednym zapytaniem tego nie zrobisz. Na samym początku dajesz DISTINCT na miasta
  1. SELECT DISTINCT `miasto` FROM `oferty` WHERE 1

a potem wynik operacji przepuszczasz przez for'a i za każdym razem wykonujesz zapytanie które wrzuciłem w pierwszym poście.
grn
  1. SELECT miasto, COUNT(miasto) FROM oferty GROUP BY miasto;


W pierwszej kolumnie otrzymasz nazwę miasta; w drugiej ilość jego wystąpień.
nospor
Cytat
Potrzebuje coś bardziej rozwiniętego czyli aby wyświetlić wszystkie miasta jakie posiadam w bazie i dla każdego liczbę ile razy się powtarza dane miasto
No do tego sluzy wlasnie GROUP BY oraz COUNT.
Na grzyba w pierwszym poscie robisz z tego podzapytanie?
lagos
Dzięki pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.