Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak pobrać najwyższą wartość z tabeli... albo. ?
Forum PHP.pl > Forum > Bazy danych
LubieWino
Mam pytanko, mam tabele osób i każda z nich ma numer. Dochodzi kolejna osoba, więc numer się zwiększa - w ten sposób moge wiedzieć ile osób jest w tabeli.

I właśnie to chce się dowiedziec - ile osób jest w tabeli. Czyli albo wezme najwyższy numer z tej tabeli, albo zlicze wszystkie rekordy.

Jak to moge zrobić?
dzieki za odpowiedz
kszychu
Albo SELECT COUNT(*) jak chcesz zliczyć elementy albo SELECT MAX(numer) jeśli chcesz największy numer.
LubieWino
ok dzieki, ale mam w sumie jeszcze konkretniejsze pytanko. Chcialbym wyselekcjonować 15 pierwszych rzędów z tabeli ale jednocześnie potrzebuje infromacji ile jest wszystkich rekordów w tej tabeli.. Czyli pisze mniej wiecej SELECT * FROM TABELA LIMIT 15...ale jak policzyc dodatkowo wszystkie rekordy?. Mozna to jakos zgrabnie zrobić w jednym SELECT? albo jakoś inaczej żebym nie musiał pisać specjalnie driugiego selecta dla policzenia rekordów?
kszychu
Jednym się nie da.
sobstel
Można wykrozystać do tego SQL_CALC_FOUND_ROWS, ale czytałem (sorry, nie mam teraz żadnego linka pod ręką do podparcia), że wcale nie jest szybsze od wykonywania 2 zapytań i tak to się właśnie zazwyczaj robi, t. najpierw LIMIT, a potem COUNT wszystkiego.
nospor
Cytat
że wcale nie jest szybsze od wykonywania 2 zapytań
Sek w tym ze to co podales to tez dwa zapytania. Drugie zapytania musi poleciec by dobrac sie do tego co zwrocil SQL_CALC_FOUND_ROWS smile.gif
LubieWino
Kurde czemu to nie dziala?

  1. <?php
  2. $qqq = mysql_query("SELECT MAX(wiek) FROM osoba where plec = '$plec'");
  3.  
  4. while($row = mysql_fetch_array($qqq)){
  5. $idd = $row['wiek'];
  6. }
  7. echo $idd;
  8. ?>
nospor
max(wiek) nie zwraca pola o nazwie wiek. Musisz zrobic alias
  1. SELECT MAX(wiek) wiek FROM ...
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.