---
title: "Hämta alla datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/123422-hämta-alla-datum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Rocket"
published: "2005-02-28T19:43:29.000Z"
updated: "2005-02-28T21:40:32.000Z"
replies: 5
views: 255
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/123422-hämta-alla-datum"
---

# Hämta alla datum

## #1 — Rocket, 2005-02-28T19:43Z

Hej.

Jag har en databas (mySQL) som jag vill visa lite statistik ur. Bland annat så vill jag visa antalet poster varje dag. Det är inget problem så länge varje dag har minst en post men om det inte finns några poster så faller det datumet bort. Går det att skriva en SQL-fråga så att alla datum kommer med även om det inte finns några poster?

Nu använder jag:

```
SELECT
    COUNT(photoAlbumComments.id) AS count,
    MONTH(photoAlbumComments.created) AS month,
    YEAR(photoAlbumComments.created) AS year
FROM photoAlbumComments
GROUP BY day, month, year
ORDER BY year DESC, month DESC, day DESC
```

red: fel i koden

Permalänk: https://www.webforum.nu/p/123422

## #2 — LarsG, 2005-02-28T20:23Z

Alla datum? Sen när då? Idag, årets början, databasens födelse?

Permalänk: https://www.webforum.nu/p/1563976

## #3 — Rocket, 2005-02-28T20:26Z

Just nu finns det inte så många poster så det går att ha alla datum från den äldsta posten fram tills idag. Senare så kommer det att bli så att de x senaste dagarna ska visas.

Permalänk: https://www.webforum.nu/p/1563978

## #4 — LarsG, 2005-02-28T20:39Z

Det är enklast att hantera x dagar tillbaka i tiden.
Skapa en tabell (t) med en kolumn (c) av typen smallint. Lagra värdena 0 tom x-1 i tabellen

```
select adddate(current_date,-c) 
,count(photoAlbumComments.id) AS count
from t left join photoAlbumComments
on created = adddate(current_date,-c) 
group by adddate(current_date,-c) 
order by adddate(current_date,-c) desc
```

Permalänk: https://www.webforum.nu/p/1563984

## #5 — Rocket, 2005-02-28T20:53Z

Ok, jag ska testa.

Permalänk: https://www.webforum.nu/p/1563989

## #6 — Rocket, 2005-02-28T21:40Z

Jag ändrade koden så att den räknar poster per månad istället.

```
SELECT
	MONTH(SUBDATE(current_date, INTERVAL i MONTH)) AS month,
	YEAR(SUBDATE(current_date, INTERVAL i MONTH)) AS year,
	COUNT(photoAlbumComments.id) AS count
FROM photoAlbumHelperMonths
LEFT JOIN photoAlbumComments
	ON DATE_FORMAT(created, '%Y%m') = DATE_FORMAT(SUBDATE(current_date, INTERVAL i MONTH), '%Y%m')
GROUP BY SUBDATE(current_date, INTERVAL i MONTH)
ORDER BY SUBDATE(current_date, INTERVAL i MONTH) desc
```

Jag får resultatet som jag vill ha men det känns ändå inte helt bra att begränsningen i hur långt tillbaka man kan gå ligger i hur många poster det finns i tabellen photoAlbumHelperMonths (t i LarsGs kod).

Koden fungerar i alla fall så tack för hjälpen.

Permalänk: https://www.webforum.nu/p/1564007

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/123422-hämta-alla-datum
