/ 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
timestamp -> dage
Fra : Arne Feldborg


Dato : 02-12-08 01:34


hejsa....

Sikkert et trivielt problem. Men jeg har ikke lige kunnet gennemskue
det.

I en database ligger en del oplysninger, hvortil bla. knytter sig et
tidspunkt for igangsætningen af hvert enkelt emne.

Problemet er, at dette tidspunkt ligger som et Unix-timestamp. Og jeg
vil gerne bare have returneret, hvormange, og hvilke, emner der er
oprettet for hver dag.

Altså noget a'la "group by dato", hvor "dato" er det nævnte timestamp
regnet i hele dage.

Nogen ideer.?

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

 
 
Martin (02-12-2008)
Kommentar
Fra : Martin


Dato : 02-12-08 04:03

Arne Feldborg wrote:
> hejsa....
>
> Sikkert et trivielt problem. Men jeg har ikke lige kunnet gennemskue
> det.
>
> I en database ligger en del oplysninger, hvortil bla. knytter sig et
> tidspunkt for igangsætningen af hvert enkelt emne.
>
> Problemet er, at dette tidspunkt ligger som et Unix-timestamp. Og jeg
> vil gerne bare have returneret, hvormange, og hvilke, emner der er
> oprettet for hver dag.
>
> Altså noget a'la "group by dato", hvor "dato" er det nævnte timestamp
> regnet i hele dage.
>
> Nogen ideer.?
>

i MySQL

DATE_FORMAT
http://dev.mysql.com/doc/refman/4.1/en/date-and-time-functions.html#function_date-format

Fx.

SELECT
COUNT(*),
DATE_FORMAT(field, '%d-%m-%Y') AS nameddate
FROM
table
GROUP BY
nameddate

mysql> select * from test;
+----+---------------------+
| id | dato |
+----+---------------------+
| 1 | 2008-12-02 03:53:40 |
| 2 | 2008-12-01 03:54:42 |
| 3 | 2008-12-02 03:54:57 |
| 4 | 2008-11-02 03:55:01 |
| 5 | 2008-12-02 03:55:25 |
| 6 | 2008-11-02 03:55:26 |
| 7 | 2008-12-02 03:55:27 |
| 8 | 2008-10-02 03:55:27 |
+----+---------------------+
8 rows in set (0.00 sec)


mysql> select count(*), date_format(dato, '%d-%m-%Y') as nameddate
mysql> from test group by nameddate order by dato;
+----------+------------+
| count(*) | nameddate |
+----------+------------+
| 1 | 02-10-2008 |
| 2 | 02-11-2008 |
| 1 | 01-12-2008 |
| 4 | 02-12-2008 |
+----------+------------+
4 rows in set (0.00 sec)

også er det bare at ændre i formattet i date_format hvis du vil have en
anderledes gruppering (fx. uge eller lign.)

Arne Vajhøj (02-12-2008)
Kommentar
Fra : Arne Vajhøj


Dato : 02-12-08 04:54

Arne Feldborg wrote:
> Sikkert et trivielt problem. Men jeg har ikke lige kunnet gennemskue
> det.
>
> I en database ligger en del oplysninger, hvortil bla. knytter sig et
> tidspunkt for igangsætningen af hvert enkelt emne.
>
> Problemet er, at dette tidspunkt ligger som et Unix-timestamp. Og jeg
> vil gerne bare have returneret, hvormange, og hvilke, emner der er
> oprettet for hver dag.
>
> Altså noget a'la "group by dato", hvor "dato" er det nævnte timestamp
> regnet i hele dage.

Hvis det er MySQL er der en FROM_UNIXTIME funktion:

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_from-unixtime

Arne

Arne Feldborg (02-12-2008)
Kommentar
Fra : Arne Feldborg


Dato : 02-12-08 13:59

Arne Feldborg <feldborg@haunstrup.dk> skrev Tue, 02 Dec 2008 01:34:26
+0100


>Sikkert et trivielt problem. Men jeg har ikke lige kunnet gennemskue
>det.
>
Tak for hjælpen til jer begge.

Det viste sig dog, at det var funktionen FROM_UNIXTIME() jeg skulle have
fat i. Men udfra det i skrev var det jo ret let at finde frem til det.

Ps. Undskyld, at jeg glemte at skrive hvilken database (det var MySql).

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Søg
Reklame
Statistik
Spørgsmål : 177417
Tips : 31962
Nyheder : 719565
Indlæg : 6407865
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste