---
title: "Hämta år och månad en gång"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/124250-hämta-år-och-månad-en-gång"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "K@llen"
published: "2005-03-12T20:26:50.000Z"
updated: "2005-03-14T20:34:51.000Z"
replies: 5
views: 363
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/124250-hämta-år-och-månad-en-gång"
---

# Hämta år och månad en gång

## #1 — K@llen, 2005-03-12T20:26Z

Tjabba,

Jag har en tabell med information. Varje post har en datetime kolumn i formatet åååå-mm-dd tt:ss. Nu vill jag lista alla år/månader som förekommer i tabellen, men varje kombination ska bara vara med en gång. eftersom jag hämtar mer data än datumfältet är distinct inte att tänka på.

Exempel på data:
2005-01-23 23:10
2005-01-23 23:17
2005-01-23 23:59

2005-02-03 03:10
2005-02-03 05:28

2005-03-01 04:48

Presentationen ska då bli: 
2005 01 (3)
2005 02 (2)
2005 03 (1)

MySQL 4.1 som databashanterare.

RED: Glömde en viktig detalj. I presentationen ska jag även visa hur många poster det finns per år/månad

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

## #2 — LarsG, 2005-03-13T13:23Z

```
select extract(year from d),extract(month from d),count(*)
from t
group by extract(year from d),extract(month from d)
```

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

## #3 — K@llen, 2005-03-13T20:57Z

Tack, perfekt. :D

Följdfråga: Om jag hämtar fler kolumner från tabellen t, då bör jag väl ha med även dessa i grupperingen?

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

## #4 — LarsG, 2005-03-14T08:49Z

Under förutsättning att du byter bör mot skall och du avser icke aggregerade kolumner så anser jag att frågan kan besvaras jakande.

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

## #5 — K@llen, 2005-03-14T20:29Z

Okey, tack, då är det som jag misstänkte. :D Blev dock lite konfunderad av att läsa mysql-manualen. Normalt grupperar man på hela selectlistan när man använder aggregatfunktioner. I mysql finns det visst undantag.

> **mysql.com skrev:**
>
> mysql\> SELECT order.custid, customer.name, MAX(payments)
>     \-\>        FROM order,customer
>     \-\>        WHERE order.custid = customer.custid
>     \-\>        GROUP BY order.custid;
> 
> In standard SQL, you would have to add customer.name to the GROUP BY clause. In MySQL, the name is redundant if you don't run in ANSI mode.

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

## #6 — LarsG, 2005-03-14T20:34Z

Det där rankar jag som en av "dummaste funktion alla kategorier"

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/124250-hämta-år-och-månad-en-gång
