Moro
pieni ongelma datan esittämisessä.
Kerään dataa lennosta lisäämällä sitä tauluun johon lisään current_timestampin ja nyt haluaisin näyttää sen taulukossa sitten että gruuppaisin ne tunneittain.
miten ihmeessä saan sen tehtyä, GROUP By Time ei toimaa.
Sinulla pitää ennen grouppausta (ryhmitystä) esittää aika siten että jokaiselle tunnille tulee erilainen merkintä. Eli muuta päiväys vaikka muotoon dd.mm.yyyy hh:mm (pseudoa).
Tuo muunto onnistuu vaikka mysql:n FROM_UNIXTIME-funktiolla:
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_from-unixtime
Eli tuosta vain tekemään oma muunnos:
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), -> '%Y %D %M %h:%i:%s %x'); -> '2003 6th August 06:22:58 2003'
Hmm...
palauttaa vain yhden rivin, vaikka tiedän että siellä on tavaraa joka tunnille.
Lause on
SELECT COUNT(*) as activity,FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y %D %M %h:00:00') as Hour FROM `hwdata` WHERE `PageId` = '1' AND Date(`Time`) = '2007-06-27' GROUP BY `Hour`
ja palauttaa vain
activity Time
2 2007 27th June 11:00:00
jotain on kyllä väärin lauseessa....Tuo unixtime?
Timestamp palauttaa sen hetkisen ajan, joten saat aina vain yhden tuloksen.
Vaihda tilalle sarake johon timestamp tallennetaan.
Jotenkin näin...
select sum(1) as Activity , Hour(päivitetty_sarake) as Hour from hwdata where --tähän ehtoja group by Hour(päivitetty_sarake)
jepa
löysin jo ratkaisun
SELECT HOUR(`Time`) as Hour,COUNT(*) FROM `pages` WHERE `Id` = 'jotain' AND DATE(`Time`) = 'HALUTTU_PAIVA' GROUP BY Hour
kiitoksia avustuksesta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.