Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL ja GROUP

Sivun loppuun

JyKKemus [05.11.2007 07:27:13]

#

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

Olga [05.11.2007 07:51:46]

#

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?

JyKKemus [05.11.2007 07:58:28]

#

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

ajv [05.11.2007 08:12:49]

#

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?

JyKKemus [05.11.2007 08:20:21]

#

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ä

ajv [05.11.2007 08:23:41]

#

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.

JyKKemus [05.11.2007 08:35:31]

#

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

JyKKemus [05.11.2007 10:21:48]

#

Voiko tota date_formattia käyttää muussa kuin timestampissa?

ajv [05.11.2007 10:24:00]

#

Voi käyttää datetimen ja timestampin kanssa.

Edit: ja tarkemmin ajateltuna voi varmaan käyttää minkä tahansa aika-tyyppisen tietotyypin kanssa.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta