---
title: "Statistik för tre månader"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/151126-statistik-för-tre-månader"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Troxy"
published: "2006-09-09T14:30:19.000Z"
updated: "2006-09-09T19:00:00.000Z"
replies: 2
views: 378
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/151126-statistik-för-tre-månader"
---

# Statistik för tre månader

## #1 — Troxy, 2006-09-09T14:30Z

Hej!
Jag har fått i uppgift att bygga en SQL-fråga som visar antalet köp per artikel över tre olika månader.

Databasen är en MSSQL...
Säg exempelvis att jag har två tabeller som ser ut såhär:

```
tbl_articles
+---------+------------+
| article | title      |
+---------+------------+
| 25      | DVD-film   |
| 32      | Videoband  |
| 43      | Chips      |
| 51      | Popcorn    |
+---------+------------+

tbl_orders
+---------+------------+
| article | order      |
+---------+------------+
| 32      | 2006-05-02 |
| 25      | 2006-05-17 |
| 43      | 2006-05-22 |
| 51      | 2006-05-23 |
| 51      | 2006-05-27 |
| 43      | 2006-06-11 |
| 32      | 2006-06-14 |
| 32      | 2006-06-19 |
| 43      | 2006-06-21 |
| 32      | 2006-07-25 |
| 51      | 2006-07-13 |
| 25      | 2006-07-13 |
| 32      | 2006-07-25 |
+---------+------------+
```

Sen så vill jag få ut statistik som ser ut såhär:

```
+------------+---------+---------+---------+
| title      | 2006-05 | 2006-06 | 2006-07 |
+------------+---------+---------+---------+
| DVD-film   | 1       | 0       | 1       |
| Videoband  | 1       | 2       | 2       |
| Chips      | 1       | 2       | 0       |
| Popcorn    | 2       | 0       | 1       |
+------------+---------+---------+---------+
```

De månader som ska visas får man själv ange i SQL-frågan.
Jag misstänker att det här blir väldigt krångligt...

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

## #2 — pulse, 2006-09-09T18:40Z

Har bara kunnat göra en lösning i MySQL. Tror inte du kan använda date_format i MSSQL utan motsvarigheten heter datepart eller liknande.

```
select a.title,
sum(case when date_format(o.order, '%Y-%m') = '2006-05' then 1 else 0 end) '2006-05',
sum(case when date_format(o.order, '%Y-%m') = '2006-06' then 1 else 0 end) '2006-06',
sum(case when date_format(o.order, '%Y-%m') = '2006-07' then 1 else 0 end) '2006-07'
from tbl_orders o join tbl_articles a on a.article = o.article
group by a.title
```

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

## #3 — Troxy, 2006-09-09T19:00Z

Tack så mycket, det där kan vara till stor hjälp.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/151126-statistik-för-tre-månader
