Mulla on mysql taulu rakenteelta tällänen
CREATE TABLE `kaynnit` ( `ip_id` bigint(20) NOT NULL, `vuosi` varchar(4) NOT NULL, `kuukausi` varchar(2) NOT NULL, `paiva` varchar(2) NOT NULL, `aika` varchar(10) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Ja siitä teen tälläisen kyselyn:
SELECT COUNT( * ) AS `Kpl rivejä` , vuosi, kuukausi, paiva FROM kaynnit GROUP BY paiva ORDER BY vuosi DESC, kuukausi DESC, paiva DESC LIMIT 0 , 20
ja siellä on esim yksi rivi vuosi: 2007 kuukausi: 11 paiva: 4 mutta se ei ota tohon kyselyyn huomioon sitä riviä mikä voi olla vikana?
EDIT: Eli tossa on vielä tulostettuna se taulu, koittakaa ymmärtää http://jykkemus.biz/test.php
Tuoltahan tuo rivi löytyy:
50 2007 10 4
Nythän ryhmittelet ainoastaan päivän perusteella. Jos haluat ryhmitellä päivämäärän perusteella, laita tuonne GROUP BY-rimpsuun myös vuosi ja kuukausi. Tuo tietokantarakenne on hieman erikoinen, eikö olisi helpompaa neljän erillisen sarakkeen sijasta käyttää ainoastaan yhtä, DATETIME-tyyppistä saraketta?
Kyl mä ton rivin oon löytäny
Mutta missä on
2007 11 3 ja 2007 11 4 ja 2007 11 5
en osaa viel käyttää datetime tyyppistä saraketta
JyKKemus kirjoitti:
Mutta missä on
2007 11 3 ja 2007 11 4 ja 2007 11 5
No sehän hukkuu tonne GROUP BY -lauseeseen, koska kuten Olga sanoi, ryhmittelet vain päivämäärän mukaan. Eli haet kävijät päivän mukaan ottamatta kantaa mikä kuukausi ja vuosi kävijät ovat käyneet.
Edit: muutes, aika ihmeellistä jos saat tuosta "koko taulu" datasta muodostettuu tollasen tuloksen... Onko tossa nyt varmasti koko taulu?
Miten tota datetime funktioo voisin käyttää tuossa taulukossa jos päivämäärä olisi muodossa dd.mm.yyyy
EDIT: Ensimmisessä vaan 50 riviä ja toisessa 10 riviä
Datetime ei ole funktio vaan kannan tietotyyppi... Mutta tuon datetimen kanssa voisit käyttää vaikka DATE_FORMAT-funktiota (esmes DATE_FORMAT(aika, '%Y-%m-%d') AS pvm, ja pvm:ää voisit nyt taasen käyttää ryhmittelyssä).
Edit: Tämä on hyödyllinen sivu.
Kiitos, pitääpä muuttaa sitten kannan rakennetta
EDIT: Mutta mitä eroa tuossa on jos tietue on jo muodossa dd.mm.yyyy
Pystynkö mä siinä date_formatissa käyttämään esim vaan sitä vuos lukua
Voiko tota date_formattia käyttää muussa kuin timestampissa?
Voi käyttää datetimen ja timestampin kanssa.
Edit: ja tarkemmin ajateltuna voi varmaan käyttää minkä tahansa aika-tyyppisen tietotyypin kanssa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.