---
title: "SELECT senaste två, bara en per användare"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/142177-select-senaste-två-bara-en-per-användare"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "JonasG"
published: "2006-02-08T19:57:57.000Z"
updated: "2006-02-09T21:53:35.000Z"
replies: 4
views: 355
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/142177-select-senaste-två-bara-en-per-användare"
---

# SELECT senaste två, bara en per användare

## #1 — JonasG, 2006-02-08T19:57Z

Hej!

Får inte helt rätt på det.
Har två tabeller.

BLOGG
id
inlagg
anvandare

och

ANVANDARE
id
fullnamn

Gemensam är alltså blogg.anvandare och anvandare.id

SELECT blogg.\*, anvandare.fullnamn, anvandare.id as personId FROM blogg LEFT JOIN anvandare ON blogg.anvandare = anvandare.id GROUP BY blogg.anvandare ORDER BY blogg.id DESC

Fungerar så långt att den bara plockar ett blogginlägg per användare, men inte det senaste. Utan mer "godtyckligt". Jag vill alltså ORDER BY blogg.id innan de två Joinas. Känns som att ORDER BY körs efter att de båda läggs ihop, och att det blir godtyckligt vilket inlägg bland flera som en användare har skrivit, som kommer med.

Kör MySQL, PHP.

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

## #2 — Travoni, 2006-02-09T08:19Z

Varför har du med GROUP BY?
Jag skulle köra med inner join i detta fall.

```
SELECT blogg.id,blogg.inlagg, anvandare.fullnamn, anvandare.id as personId 
FROM blogg 
INNER JOIN anvandare ON blogg.anvandare = anvandare.id
ORDER BY blogg.id DESC
```

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

## #3 — JonasG, 2006-02-09T08:34Z

Jag behöver ha GROUP BY, eller något annat som löser samma problem, för att jag bara vill ha ett inlägg per användare. Alltså bara det inlägg som har högst ID från varje användare.

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

## #4 — LarsG, 2006-02-09T08:35Z

```
SELECT b.id, b.inlagg, a.fullnamn, a.id as personId 
FROM blogg b
INNER JOIN anvandare a ON b.anvandare = a.id
where b.id in
  (select max(id)
     from blogg bl
    where bl.anvandare = b.anvandare)
ORDER BY b.id DESC
```

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

## #5 — JonasG, 2006-02-09T21:53Z

ah. verkar smart. men subqueries funkar bara från 4.1 va? tyvärr har mitt webbhotell bara 4.0.nånting. ska se om de vill uppgradera.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/142177-select-senaste-två-bara-en-per-användare
