Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie ilości wierszy
Forum PHP.pl > Forum > Bazy danych > MySQL
crash
Jak zliczyć ilość wierszy w każdej z tabel? Bo:
  1. SELECT COUNT(g.id) AS grup,
  2. COUNT(f.id) AS funkcji,
  3. COUNT(t.id) AS typow
  4. FROM grupy AS g,
  5. funkcje AS f,
  6. typy AS t

coś niezbyt chce działać. Mógłbym zamiast COUNT dać MAX póki co bo kolumny id sa auto inkrementowane, ale potem będzie nieciekawie przy usuwaniu danych.
gibffe
to zapytanie zlicza chyba wszystie mozliwe kombinacje wierszy z tych
3ch tabel :/
crash
No tyle to i sam zauważyłem. A może tak ktoś poda dobre rozwiązanie, bo nie mam siły na myślenie dziś.
sf
Może to nie jest super rozwiązanie, ale zrobić 3 zapytania :} Nie wiem czy da się w jednym takie coś bez podzapytań.
popbart
Jeszcze takiego problemu nie miałem ale cos wymyslilem smile.gif
  1. SELECT count(DISTINCT tabela1.id) AS ile_z_tabela1,count(DISTINCT tabela2.id) AS ile_z_tabela2
  2. FROM tabela1,tabela2

sf-> czy myślałeś nad tym co ci napisałem w twoim temacie ?
crash
Dobre! Działa, dzięki...
sf
popbart: hm, w sumie to poprostu przekrztalciłem tabele i zrobiłem tak jak pisałem i potem ty napisałeś... czyli: "Jeszcze pytanko, czy grupa nie powinna być połączona relacją z kategorią?" - dodatkowo usunołem połączenie zdjec z kategorią bo po co one? Skoro można dotrzec przez grupę do nich obu winksmiley.jpg Obawiałem się na początku takiego rozwiązania, ale to był strzał w 10tkę. Natomiast tak jak ty przedstawiłeś to nie pobierał mi wtedy cname smile.gif Czyli bym potem musiał robić kolejne zapytanie by pobierać cname.

Co do tych kropek to u mnie każda tabela ma unikalne nazwy pól (cid, pid, gid), więc taki zapis nie jest konieczny.

Problem crasha też probowałem właśnie z distinct rozwiązać, ale dawałem to przed count i dlatego mi nie wychodziło tongue.gif
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.