![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 29.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Ostatnio natknąłem się na dziwny problem. Mianowicie potrzebuję zliczyć ilość wierszy stosując poniższe zapytanie nr 2. Niestety wynik zapytania zawsze jest 0. Natomiast zapytanie z tymi samymi warunkami, ale bez COUNT(*) zwraca poprawne wyniki. Poniższy wynik z obliczeń jest mi niezbędny do paginacji na stronę. Poniższe zapytanie nr 1 zwraca poprawne wyniki.
Poniższe zapytanie nr 2 zawsze zwraca 0
Kombinacje z użyciem SQL_CALC_FOUND_ROWS i FOUND_ROWS() też dają wynik 0. W związku z powyższym proste pytanie, jak zliczyć ilość wierszy z powyższego zapytania nr 1 ? Czy to jest błąd składni czy jakieś ograniczenie SQLa ? Dziękuję za pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A struktura tabel? Licz po tylko jednym polu, a nie gwiazdką.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
lub
Czyżby wystarczyło? (IMG:style_emoticons/default/smile.gif) Poza tym, jak wspomniał @up, nie znamy struktury dokładnie a to zapytanie po części jest dla mnie trochę dziwne (IMG:style_emoticons/default/tongue.gif) Ten post edytował Sephirus 22.12.2011, 09:42:53 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Sephirus niby w jaki sposob Twoje zmiany miały poprawić rezultat? No w żaden (IMG:style_emoticons/default/smile.gif)
Skoro select zwraca dane to select count też powinien zwracac wynik wiekszy od 0. Nasuwa się wiec pytanie, w jaki sposób Ty te dane odbierasz? W kodzie php? To zapewne robisz to źle. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No to fakt trochę się zagalopowałem faktem, że zapytanie numer 1 działa autorowi a numer 2 nie - to dość dziwne jak na SQL'a - masz zdecydowanie rację - błąd leży gdzieś po odebraniu wyników.
Może przypisz to COUNT(*) pod jakąś nazwę - np count(*) AS `row_number` albo coś w tym stylu (IMG:style_emoticons/default/smile.gif) może model dostępu do bazy nie radzi sobie z taką nazwą pola jak COUNT(*) albo coś jest pogmatwane przy pobieraniu - pobierasz asocjacyjnie czy indeksowaną tablice? (soorki - wstałem lewą nogą (IMG:style_emoticons/default/tongue.gif) ) Ten post edytował Sephirus 22.12.2011, 09:50:36 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 16:25 |