Autor | Zpráva | ||
---|---|---|---|
Dave123 Profil * |
#1 · Zasláno: 8. 5. 2010, 14:28:18
Ahoj, chtěl bych se zeptat jestli jde toto
mám uložené v databázi data navštívení webu v datetime tedy "2010-05-08 14:22:00" a je jich tam několik, a zajímalo by mě jestli jde pomocí čtení rovnou zjistit kolik bylo celekm návštev v 14 hodin (tedy všechny dny ve 14 hodin). Což nvm přesně jak by vypadala podmínka $sql = "SELECT * FROM navstavy WHERE datetime = ??;"; a taky jestli jde rovnou vytáhnout všechny hodiny, jakože mi mysql vyhodí 24 hodnot, tedy počet kolik má každá hodina. Ale jen přes SELECT vim že by to šlo pomocí podmínek, a více cyklu ale spíš mě zajíma jestli nato už není přímo nějaká php(mysql) funkce. Děkuji, doufám že jste mě pochopili. |
||
Shulík Profil |
#2 · Zasláno: 8. 5. 2010, 14:35:06 · Upravil/a: Shulík
SELECT HOUR(TIME(datetime)) as hodina, COUNT(HOUR(TIME(datetime))) as pocet FROM navstevy WHERE HOUR(TIME(datetime)) = 14; Pro počet záznamů ze 14 hodin. //EDIT: Co je výhodnější? Použít WHERE HOUR.. jako v kódu nebo HAVING hodina? Četl jsem, že HAVING je pomalé.. //EDIT2: Zapomněl jsem FROM |
||
Dave123 Profil * |
#3 · Zasláno: 8. 5. 2010, 14:57:50
Shulík:
mno takle přečtu jednu, tim jsem vyřešil problem 1 ale jdou přečíst všech 24 bez toho abych to četl 24x? |
||
Dave123 Profil * |
#4 · Zasláno: 8. 5. 2010, 14:58:58
Dave123:
jakože mi se cyklus provede 24x $sql = "SELECT HOUR(TIME(datetime)) as hodina, COUNT(HOUR(TIME(datetime))) as pocet FROM navstevnost;"; $vysledek = MySQL_DB_Query(SQL_USERNAME, $sql); while($zaznam = MySQL_Fetch_Array($vysledek)): echo $zaznam["hodina"]." ".$zaznam["pocet"]; endwhile; |
||
Shulík Profil |
#5 · Zasláno: 8. 5. 2010, 15:02:59 · Upravil/a: Shulík
Ne, i to jde jedním dotazem.
Ale ten z hlavy nedám a kde mám knížku, to fakt nevim. Zkusim Ti to najít. //EDIT: Mrkni se na SELECT DISTINCT respektive GROUP BY. To by myslím mohlo být ono. |
||
Dave123 Profil * |
#6 · Zasláno: 8. 5. 2010, 15:21:32
Shulík:
ok diky, použil jsem to takto SELECT HOUR(TIME(datetime)) as day, COUNT(HOUR(TIME(datetime))) as pocet FROM navstevnost GROUP BY HOUR(TIME(datetime)) |
||
Časová prodleva: 14 let
|
0