ďťż

[PHP/MySQL] Najczęściej powtarzające się wartości

       

Podstrony


telcocafe

Witam
Moja tabela ma przybliżona postać:

imię || nazwisko || miasto

I jak wiadomo niektóre wartości mogą się powtarzać. I moje pytanie jest następujące: Jak policzyć ile jest w tabeli najczęściej powtarzających się wartości? Np wynikałoby, że Warszaw jest najwięcej i jest ich 10. Jak takie coś osiągnąć?
Użytkownik sauron edytował ten post 25 lipiec 2007, 08:55


Pobrać wszystkie dane i wrzucać do tablic z warunkami.
Można tez rozrzucić to na kilka tabel,ale to chyba mniej wygodne.

w sql
SELECT Country, Count(Country) AS ilosc FROM customers GROUP BY Country ORDER BY Count(Country) DESC
jak chcesz miec tylko najwieksza ilosc to ogranicz wynik do pierwszego
Użytkownik Deadeye edytował ten post 25 lipiec 2007, 10:36
Jeśli dobrze zrozumiałem potrzebujesz grupowania:

SELECT count(user_gender) as ile,user_gender FROM phpbb_users (WHERE jeśli potrzeba) GROUP BY user_gender

Przykład z forum phpBB by Przemo. Zwraca trzy rekordy: mężczyzn i ich ilość, kobiet i obojniaków.

//zaliczyłem spóźnienie :]
Użytkownik NIC edytował ten post 25 lipiec 2007, 10:31


Pytanie no 2
Jak potem wyświetlić wynik? Najpierw w mysql_query, pętle while to dać z fetch arrayem i wyświetlać $jakiświersz[ilosc]? Tak probuję i lipa :/

Co robię źle?
Użytkownik sauron edytował ten post 25 lipiec 2007, 11:26

Pytanie no 2
Jak potem wyświetlić wynik? Najpierw w mysql_query, pętle while to dać z fetch arrayem i wyświetlać $jakiświersz[ilosc]? Tak probuję i lipa :/

Co robię źle?

$jakiświersz['ilosc'] - to zawiera ilosc najczesciej wystepujacego elementu, ale musi byc w apostrofach. jak to nie pomoze to pokaz kod, bo nie wiem dokladnie co chcesz zrobic ani jak to robisz
// no i mam nadzieje ze zamieniles country i customers na twoje wlasne dane :D
Użytkownik Deadeye edytował ten post 25 lipiec 2007, 18:22

~
$zmienna = "SELECT miasto, Count(miasto) AS ilosc FROM tabela GROUP BY miasto ORDER BY Count(miasto) DESC"; $zmienna2 = mysql_query($zmienna); while ($wiersz = mysql_fetch_array($zmienna2)) { echo($wiersz['ilosc']); }
Przy tym ustawieniu wywala mi blad


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Użytkownik sauron edytował ten post 25 lipiec 2007, 18:43
wyglada na blad polaczenia/wykonania zapytania z mysql, ale samo zapytanie jest dobre (pod warunkiem ze poprawne nazwy wpisales). sprawdz czy skrypt poprawnie laczy sie z baza itd


wyglada na blad polaczenia/wykonania zapytania z mysql, ale samo zapytanie jest dobre (pod warunkiem ze poprawne nazwy wpisales). sprawdz czy skrypt poprawnie laczy sie z baza itd

Wszystko dobrze się łączy. W kodzie mam inną pętle while z fetch arrayem i wszystko poprawnie działa.

Nie wiem czy to w MySQL ma znaczenie,ale zrób count z małej litery. Czy używasz jakichś stałych? Może jakaś stała się tam zawieruszyła? :P

"
{
echo($wiersz['ilosc']);
}
"

hmm na php/mysql slabo sie znam ale czy przypadkie nie powinno byc echo $wiersz["ilosc"];?

A co to za różnica? Ta linijka akurat jest dobra więc skoro słabo się znasz to albo manual albo nie powątpiewaj w postach tego typu . . .

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.