ugrás a tartalomhoz

Összes találat és adott lapra tartozó találatok egy SQL lekérdezésben?

Anonymous · 2006. Feb. 24. (P), 19.41
Sziasztok,
hogy lehet úgy lekérdezni pl fórumoknál hogy egy adott oldalon x-rekord jelenjen meg de kell tudnom hogy összesen hány rekord felelt meg a táblában a feltételeknek, mert a (SELECT * FROM `xx` WHERE feltételek LIMIT oldalszám , oldalon lévő bejegyzések száma), nem adja vissza az összes megfelet rekord számát, ha nem használom a limitet a lekérdezésben akkor megkapom az összes rekord számot ami megfelet a feltételnek, de akkor még egy lekérést kell alkalmaznom limittel ,hogy csak az adott oldalon lévő rekordok kérdezem le.
THX.
 
1

Ket lekerdezes

Grandmaster · 2006. Feb. 24. (P), 20.51
Mar jo parszor volt tema a forumon, de lassuk azert a megoldast.

A count(*) -ot hasznalva megtudhatod az osszes rekord szamat, amit felhasznalhatsz az oldalakra bontasnal.
SELECT COUNT(*) AS db FROM tabla;
Majd pedig az altalaid is beirt LIMIT -es lekerdezessel meg tudod oldani, hogy csak az adott szamu rekordor kerdezd le.
2

vagy php

Szekeres Gergő · 2006. Feb. 24. (P), 22.06
Vagy lekérdezed az összeset, majd php-val megszámolod hogy elem van, és egy array_slice függvénnyel kikéred a megfelelő elemeket...

---
Könnyebb valamit jól megcsinálni, mint megmagyarázni, miért lett rossz.
3

<Nincs cím>

Anonymous · 2006. Feb. 25. (Szo), 00.22
Ezt konnyu megmondani mert rossz: osszehasonlithatatlanul nagyobb adatforgalmat generalsz, feleslegesen terheled a szervert, fogod a savszelt, es miattad fog kirobbanni a harmadik vilaghaboru :)
5

attól függ

Szekeres Gergő · 2006. Feb. 25. (Szo), 10.25
Ha mondjuk egy fórum hozzászólásait szeretném lekérdezni, akkor biztos én is count-os és egy választó lekérdezéssel csinálnám, de pl ha sima integerek vannak, és nem nagy számba(kevés rekord), akkor minek két lekérdezés?

Csak mint másik alternatíva vetettem fel, vannak esetek, amitkor - szerintem -ez a hatékonyabb megoldás.

De ha ezen múlik a világ sorsa, legyen igazatok!:)
---
Könnyebb valamit jól megcsinálni, mint megmagyarázni, miért lett rossz.
6

attól függ

Szekeres Gergő · 2006. Feb. 25. (Szo), 10.26
Ha mondjuk egy fórum hozzászólásait szeretném lekérdezni, akkor biztos én is count-os és egy választó lekérdezéssel csinálnám, de pl ha sima integerek vannak, és nem nagy számba(kevés rekord), akkor minek két lekérdezés?

Csak mint másik alternatíva vetettem fel, vannak esetek, amitkor - szerintem -ez a hatékonyabb megoldás.

De ha ezen múlik a világ sorsa, legyen igazatok!:)
---
Könnyebb valamit jól megcsinálni, mint megmagyarázni, miért lett rossz.
4

dilemma

Anonymous · 2006. Feb. 25. (Szo), 00.57
Mi a jobb?

- nagyobb tömbbel dolgozni php-val, de csak 1 sql kérés

- két sql kérés, de nem kell php függvénnyel az eredményen módosítani

Hmmmm... én a 2. választanám. De lehet, mert az kényelmesebb.

Zoli
7

<Nincs cím>

Szekeres Gergő · 2006. Feb. 25. (Szo), 11.59
mi neked a nagyobb tömb? Egy párszáz elemes int tömbbel inkább dolgozok, mint mégegyszer végiggyalogoljak az egész adatbázison. Nem mondtam, hogy ez a módszer egyértelműen jobb, de vannak speciális esetek, amhol ez optimálisabb.

kényelmesebb? körülbelül ha egy sorral többet kell gépelni:)

---
Könnyebb valamit jól megcsinálni, mint megmagyarázni, miért lett rossz.
8

másképp...

Anonymous · 2006. Feb. 25. (Szo), 13.37
Egy sor. De csak egy. (Mi a gondod???)
A Te PHP scripted, ami ténylegesen végignyálazza az összes adatot, az biztos rövidebb. Ja.

Az adatbázisnál nem kellene feltételezni, hogy úgyis csak 5 eleme lesz...

És a COUNT() nem hinném, hogy végigjárná az adatbázist... mindegy... én abbahagyom a vitát. További jó tanulást.

Üdv
Zoli