ugrás a tartalomhoz

Számláló adatok lekérdezése

butcher51 · 2006. Ápr. 2. (V), 23.22
Hello!

A probléma a következő:
Van egy számláló, minden sor egy letöltés, dátum ip-vel stb. Ha le akarom kérdezni mondjuk az utóbbi 30 nap adatait, napi bontásban az megy, count-al öszeszámolom, és group by-olom napok szerint, eddig ok.
A gond az hogy tudnám azt megcsinálni, hogy az 1 hónapot tetszőlegesen tudjam bontani, mondjuk tegyük fel, 6orás, bontásban pl, valahogy cast-al kellene variálni de nincs 5letem hogy csináljam...

Elöre is kösz ha valaki tud megoldást
(sry ha már volt téma és nem oda írtam)
 
1

Nagyobb mint dátum?

janoszen · 2006. Ápr. 3. (H), 09.11
Hát, szerintem, úgy tudod megcsinálni, hogy lekérdezed count() azokat a bejegyzéseket, amelyek timestamp-je nagyobb, mint x és kisebb mint y. Ha több időszakra akarod, akkor PHP for ()... Úgyis külön kellenek az adatok. :) Ha nem másik gépen van az adatbázis szerver, még a kommunikációs overhead is elhanyagolható lesz.
2

csak nem kell php!

Táskai Zsolt · 2006. Ápr. 3. (H), 09.15
lehet group-by-olni datepart-ra és timepart-ra is, meg szerintem ezek műveleteire is. lehet, hogy nem valami ideális megoldás, de biztos gyorsabb, mint a PHP. aki tud jobbat, mondjon!
Tasi
(tetszett ez a szráj a nyitó hozzászólásban:) )
3

Erre gondoltam

Anonymous · 2006. Ápr. 3. (H), 10.20
Hát igen, for semmiképpen se jó, akkor iszonyat lassu :D

Ez a datepart amit írsz jólhangzik, ennek utánanézek :) (essetleg ha ráérsz leírhatnád pár sorba ezt hogykell :) )

tenkju
4

elfelejtettem belépni :]

butcher51 · 2006. Ápr. 3. (H), 10.22
Szóval kösz :]
5

kivinni kliens oldalra?

Hodicska Gergely · 2006. Ápr. 3. (H), 10.27
Szia!


Mi értelme lenne ezt kivinni klins oldalra, amikor a szegmentációhoz szükséges oszlopot simán elő tudod állítani DB oldalon is? Teljesen felesleges overhead.


Felhő
6

mysql

butcher51 · 2006. Ápr. 3. (H), 10.32
Ja és mostnézem nemírtam, mysql-ről van szó.
7

megvan

butcher51 · 2006. Ápr. 3. (H), 11.17
Azthiszem megvan a megoldás :D

SELECT COUNT(ID) as pi,(CEIL(datetime/(5*60*60))) AS dgb FROM __counterData GROUP BY dgb LIMIT 100

Ez 5orás bontás elvileg, demég tesztelem :D
8

hmhm

butcher51 · 2006. Ápr. 3. (H), 12.36
Várok még ötleteket, mertaz elv jó csak nem 5orás bontásban csinálja pedig úgy kéne levileg :D
9

és jó!

butcher51 · 2006. Ápr. 3. (H), 18.38
Már müxik, átkellet konvertálnom unix_timestamp-re :D