---
title: "Näst högsta värdet i en SELECT"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/101946-näst-högsta-värdet-i-en-select"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Uwe"
published: "2004-04-20T19:22:51.000Z"
updated: "2004-04-26T14:01:15.000Z"
replies: 5
views: 400
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/101946-näst-högsta-värdet-i-en-select"
---

# Näst högsta värdet i en SELECT

## #1 — Uwe, 2004-04-20T19:22Z

Har en SELECT-sats som ser ut ungefär så här:

```
SELECT * FROM tabell1, tabell2 WHERE tabell1.id=tabell2.id AND tabell1.datum < "Näst senaste datumet i tabell2"
```

 
Problemet är att jag inte vet hur jag ska kunna ange det näst senaste datumet. Det hade kunnat lösas med en subquery, men eftersom min databas inte klarar av det behöver jag göra detta utan den hjälpen. Någon som vet hur en lösning kan se ut?

/Uwe

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

## #2 — LarsG, 2004-04-20T19:43Z

```
SELECT t1.c1,t2.c2
 FROM t1 join t2
  on  t1.id = t2.id 
  join t2 t3 on t2.id = t3.id
  join t2 t4 on t3.datum < t4.datum
where t1.datum < t3.datum
  group by t1.c1,t2.c2,t2.datum
  having t2.datum = max(t3.datum)
```

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

## #3 — Uwe, 2004-04-22T09:52Z

Har försökt med din kod LarsG men får det inte att funka. Den fungerar säkert klockrent, men jag var nog för otydlig i min fråga. Jag tänkte förenkla lite för att det skulle vara lättare att förstå min formulering, men det var kanske ingen god idé :OO .

Egentligen har jag fler än två tabeller som ska joinas. Totalt är det fem tabeller och datumen som ska jämföras ligger i yttertabellerna, med tre tabeller emellan sig. Går det att applicera din kod även om fallet är som sådant?

/Uwe

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

## #4 — PDahlen, 2004-04-22T10:12Z

Du skulle behöva köra en UNION på alla tabeller, använd TOP 2 och sedan sortera på datum ASC.

Eller så tänker jag på nåt annat.

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

## #5 — LarsG, 2004-04-22T11:02Z

Det blir nog enklast att använda temptabeller och mellanlagra resultat (eller använda en bättre DBMS).

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

## #6 — Uwe, 2004-04-26T14:01Z

Tack LarsG för förslaget med temp-tabeller!

Jag gick på din linje med att skapa temp-tabeller, vilket gjorde problemet mycket enklare.  :D 

/Uwe

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/101946-näst-högsta-värdet-i-en-select
