Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie wszystkich rekordów, [pl/pgSQL][php]
rydlik
post 21.07.2013, 07:31:18
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 9.10.2011

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


Witam, mam na pozór łatwy problem, bardzo prosił bym o pomoc w jego rozwiązaiu.

pisiadam zapytanie:

  1. SELECT nazwa FROM lokalizacja WHERE id_lokalizacja > 10 ORDER BY id_lokalizacja LIMIT 3 OFFSET 0


chciałbym zliczyć wszystkie rekordy jakie spełniają kryterium:

  1. SELECT nazwa FROM lokalizacja WHERE id_lokalizacja > 10


przy czym wyświtelić tylko

  1. ORDER BY id_lokalizacja LIMIT 3 OFFSET 0


potrzebuję tego do zliczania ilości stron. Strona pisana jest w PHP, może jest jakas funkcja w php? pozdrawiam
Go to the top of the page
+Quote Post
phpion
post 22.07.2013, 06:51:45
Post #2





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zrób to dwoma zapytaniami:

Pierwsze do zliczenia.
  1. SELECT COUNT(*) FROM lokalizacja WHERE id_lokalizacja > 10;


Drugie do wybrania rekordów (takie jak przedstawiłeś).

Przy zliczaniu dobrze jest użyć klucza głównego zamiast * (czyli np. COUNT(id)).
Go to the top of the page
+Quote Post
mmmmmmm
post 22.07.2013, 07:40:22
Post #3





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Możesz to wszystko zrobić jednym zapytaniem. Używając funkcji WINDOW. (Po info odsyłam do manuala).
  1. SELECT nazwa, count(nazwa) over() AS ilosc FROM lokalizacja WHERE id_lokalizacja > 10 ORDER BY id_lokalizacja LIMIT 3 OFFSET 0
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: 25.04.2024 - 15:35