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.)