ugrás a tartalomhoz

MySQL: table.COUNT(ID) ?

Magnolia · 2003. Nov. 21. (P), 14.08
Sziasztok!

Szeretnék írni egy egyszerűbb fórumot (PHP4.1, MySQL 3.23), amiben a témák lekérésénél adódott egy kis probléma.
Szeretném lekérni a témák (topic-ok) összes adatát a témák táblájából (SELECT temak.* FROM temak), illetve a témákhoz érkezett hozzászólások számát (bejegyzesek.COUNT(ID)), illetve az utolsó hozzászólás dátumát szintén a bejegyzésekből.
Ezt a hármat hogy tudom összehozni?

Eddig ezt próbáltam, de nem megy:
SELECT temak.*, bejegyzesek.COUNT(bejegyzesID) FROM temak, bejegyzesek WHERE temak.datum<NOW() AND bejegyzesek.szuloID=temak.ID
...De ez elszáll, ráadásul már a COUNT résznél...

Néztem a LEFT JOIN-t is, kipróbáltam, de azzal sem leltem megoldást.
MySQL doksit szintén néztem (plz ne RTFM legyen a válasz ^^), de nem jövök rá, hogy kéne megoldani.

Tudnátok segíteni? Ha ez a struktúra nem megy, vagy nem jó, tudnátok javasolni jobbat?
Előre is köszönöm!
 
5

Re: MySQL: table.COUNT(ID) ?

Bártházi András · 2003. Nov. 21. (P), 22.59
Sokszor valóban hatékonyabb "cacheelni", de egy jobb adatbázisszervernek ezt elvileg le kell, hogy kezelje.
4

Re: MySQL: table.COUNT(ID) ?

Scr34m · 2003. Nov. 21. (P), 18.20
bocsi en voltam a hule :)
amugy az nem kenyelmetlenseg

elvegre atmozgatas ritkabb dolog mint az hogy hany elem tartozik az adott topikhoz tehat celszerui eltarolni mert ezzel csokkented adatbazisod terheleset persze egy kis oldalon ez nem lenyeg de nagy rendszereknel ez sokat szamithat
3

Re: MySQL: table.COUNT(ID) ?

Bártházi András · 2003. Nov. 21. (P), 15.04
Egy "SELECT tema,count(bejegyzesek) FROM forum GROUP BY tema" segíthet talán...
2

Re: MySQL: table.COUNT(ID) ?

Magnolia · 2003. Nov. 21. (P), 14.41
Tartok tőle, férleértettük egymást.
Én nem a témák számát szeretném lekérni, hanem azon bejegyzések számát, melyek egy adott témához tartoznak.
Mindenesetre a gyors választ köszönöm!

Igyekszem minél gyorsabbra / minél kevésbé "szerverterhelőre" megírni a fórumot...
Az is eszembe jutott, hogy eltárolom a temak táblában az utolsó hozzászóló nevét + dátumot, de ez több szempontból is kényelmetlen (például ha bejegyzést áthelyezünk témák közt...).
1

Re: MySQL: table.COUNT(ID) ?

Scr34m · 2003. Nov. 21. (P), 14.26
ezt 2 lekerdezesbol oldhatod meg egyel lekersz minden infot a temarol
select * from temak

select count(tema_id) from temak
6

Re: MySQL: table.COUNT(ID) ?

Magnolia · 2003. Nov. 24. (H), 01.24
Köszönöm mindenkinek a válaszokat!

Valószínűleg marad a "cache"-elés. ;)