---
title: "Räkna lite poster"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/131943-räkna-lite-poster"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Helmertz"
published: "2005-07-27T17:17:07.000Z"
updated: "2005-07-28T09:50:45.000Z"
replies: 4
views: 372
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/131943-räkna-lite-poster"
---

# Räkna lite poster

## #1 — Helmertz, 2005-07-27T17:17Z

Jag använder mig av MySQL tillsammans med PHP för mitt hemmagjorda blogsystem. I tabellen för varje inlägg i bloggen har jag ett fält som heter *nyhet_typ* som innehåller värden som *skolan*, *personligt* o.s.v.

Nu till "problemet". Nederst på sidan har jag en förteckning över hur många poster det finns i varje kategori, ex: Humor (5). Detta skriver jag ut med nedanstående kod.

```php
  $pers = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Personligt'");
  $personligt = mysql_num_rows($pers);

  $skol = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Skolan'");
  $skolan = mysql_num_rows($skol);

  $kult = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Kultur'");
  $kultur = mysql_num_rows($kult);

  $webb = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Web'");
  $web = mysql_num_rows($webb);

  $kropp = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Kroppen'");
  $kroppen = mysql_num_rows($kropp);
  
  $lok = mysql_query("SELECT nyhet_id, nyhet_typ FROM nyheter WHERE nyhet_typ = 'Lokalt'");
  $lokalt = mysql_num_rows($lok);
  
?>
<p>Läs alla notiser i en av dessa kategorier:</p>
<ul>
<li><a href="personligt">Personligt</a> (<?=$personligt?>)</li>
<li><a href="skolan">Skolan</a> (<?=$skolan?>)</li>
<li><a href="kultur">Kultur</a> (<?=$kultur?>)</li>
<li><a href="web">Web</a> (<?=$web?>)</li>
<li><a href="kroppen">Kroppen</a> (<?=$kroppen?>)</li>
<li><a href="lokalt">Lokalt</a> (<?=$lokalt?>)</li>
</ul>
```

vilket innebär att jag måste skriva till en SQL-fråga och en post i listan för varje ny kategori jag kommer på. Dessutom tar koden ganska stor plats och gör därmed filen jobbigare att leta igenom. Vad jag är ute efter är en simplare fråga som bara letar igenom en kolumn efter samma värden och räknar hur många som finns av varje..

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

## #2 — LarsG, 2005-07-27T17:21Z

```
SELECT nyhet_typ,count(*) as items
 FROM nyheter
group by nyhet_typ
```

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

## #3 — Helmertz, 2005-07-27T17:24Z

> **LarsG skrev:**
>
> ```
> SELECT nyhet_typ,count(*) as items
>  FROM nyheter
> group by nyhet_typ
> ```

Tackar. Du har inte lust att printa ned lite PHP om hur jag presenterar informationen sen..?  :p

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

## #4 — LarsG, 2005-07-27T18:13Z

Vadå, det är ju en högst ordinär loop över mysql_fetch_xxx och 

```php
echo  $row['nyhet_typ'] . " (" . $row['items'] . ")";
```

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

## #5 — Helmertz, 2005-07-28T09:50Z

Jag hade inte använt mig av "count as x" tidigare bara, men tack för förklaringen :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/131943-räkna-lite-poster
