/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL Timestamp
Fra : Chris


Dato : 16-02-05 12:15

Hej

Jeg har i en MySQL db et timestamp felt som jeg bruger i en log tabel.
Jeg vil gerne GROUP'e posterne på dage så jeg kan se statistik over hvor
mange hits jeg har har haft de enkelte dage (eller uger og år for den
sags skyld). Kan man konstruere en SQl sætning som grupperer på dage ud
fra et timestamp i MySQL (PHP)?

Venlig hilsen
Chris

 
 
Thomas Skou (17-02-2005)
Kommentar
Fra : Thomas Skou


Dato : 17-02-05 08:40


> Jeg har i en MySQL db et timestamp felt som jeg bruger i en log tabel.
> Jeg vil gerne GROUP'e posterne på dage så jeg kan se statistik over hvor
> mange hits jeg har har haft de enkelte dage (eller uger og år for den
> sags skyld). Kan man konstruere en SQl sætning som grupperer på dage ud
> fra et timestamp i MySQL (PHP)?

Ja:

SELECT
COUNT(felt),
YEAR(FROM_UNIXTIME(felt_med_timestamp)),
MONTH(FROM_UNIXTIME(felt_med_timestamp)),
DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp))

FROM
log_tabel

GROUP BY
YEAR(FROM_UNIXTIME(felt_med_timestamp)),
MONTH(FROM_UNIXTIME(felt_med_timestamp)),
DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp));


/Thomas

Chris (19-02-2005)
Kommentar
Fra : Chris


Dato : 19-02-05 18:29

Thomas Skou wrote:
>
>> Jeg har i en MySQL db et timestamp felt som jeg bruger i en log tabel.
>> Jeg vil gerne GROUP'e posterne på dage så jeg kan se statistik over
>> hvor mange hits jeg har har haft de enkelte dage (eller uger og år for
>> den sags skyld). Kan man konstruere en SQl sætning som grupperer på
>> dage ud fra et timestamp i MySQL (PHP)?
>
>
> Ja:
>
> SELECT
> COUNT(felt),
> YEAR(FROM_UNIXTIME(felt_med_timestamp)),
> MONTH(FROM_UNIXTIME(felt_med_timestamp)),
> DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp))
>
> FROM
> log_tabel
>
> GROUP BY
> YEAR(FROM_UNIXTIME(felt_med_timestamp)),
> MONTH(FROM_UNIXTIME(felt_med_timestamp)),
> DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp));
>
>
> /Thomas


Tak for svaret! Det virker fint på Linux/Apache/MySQL men på
Windows/IIS/MySQL får jeg nogle mærkelige årstal fra 1988 til 2011
selvom jeg ved at mine timestamps alle ligger fra 2004 til 2005. Findes
der en tilsvarende statement hertil?

/Chris

Troels Arvin (19-02-2005)
Kommentar
Fra : Troels Arvin


Dato : 19-02-05 18:35

On Sat, 19 Feb 2005 18:28:50 +0100, Chris wrote:

> Det virker fint på Linux/Apache/MySQL men på
> Windows/IIS/MySQL får jeg nogle mærkelige årstal fra 1988 til 2011
> selvom jeg ved at mine timestamps alle ligger fra 2004 til 2005.

Det lyder som en ret grim fejl i enten MySQL eller PHP. Hvordan ser du
forskellene? - Via MySQL's kommandolinje-værktøj, via PHP, eller på
anden vis?

--
Greetings from Troels Arvin, Copenhagen, Denmark


Chris (21-02-2005)
Kommentar
Fra : Chris


Dato : 21-02-05 00:15

Troels Arvin wrote:

>
> Det lyder som en ret grim fejl i enten MySQL eller PHP. Hvordan ser du
> forskellene? - Via MySQL's kommandolinje-værktøj, via PHP, eller på
> anden vis?
>

Jeg brugte MySQL-Front vers. 2.5

/Chris

Troels Arvin (19-02-2005)
Kommentar
Fra : Troels Arvin


Dato : 19-02-05 18:32

On Thu, 17 Feb 2005 08:39:57 +0100, Thomas Skou wrote:

>> Kan man konstruere en SQl sætning som grupperer på dage ud
>> fra et timestamp i MySQL (PHP)?
>
> Ja:
>
> SELECT
> COUNT(felt),
> YEAR(FROM_UNIXTIME(felt_med_timestamp)),
> MONTH(FROM_UNIXTIME(felt_med_timestamp)),
> DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp))

[...]

Hvorfor skyder du FROM_UNIXTIME ind mellem fx. YEAR og felt_med_timestamp?
Kan YEAR ikke hitte ud af at hive YEAR-værdier direkte fra
datetime-værdier?

--
Greetings from Troels Arvin, Copenhagen, Denmark


Thomas Skou (20-02-2005)
Kommentar
Fra : Thomas Skou


Dato : 20-02-05 12:29

>>SELECT
>> COUNT(felt),
>> YEAR(FROM_UNIXTIME(felt_med_timestamp)),
>> MONTH(FROM_UNIXTIME(felt_med_timestamp)),
>> DAYOFMONTH(FROM_UNIXTIME(felt_med_timestamp))
>
>
> [...]
>
> Hvorfor skyder du FROM_UNIXTIME ind mellem fx. YEAR og felt_med_timestamp?
> Kan YEAR ikke hitte ud af at hive YEAR-værdier direkte fra
> datetime-værdier?
>

Jeg antog (fejlagtigt) at feltet indeholdt et unix timestamp. Hvis
felttypen er et MySQL timestamp kan datoberegninger foretages direkte
fra feltet fx: YEAR(felt_med_mysql_timestamp).

/Thomas

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste