---
title: "Ta fram två högsta värden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/152383-ta-fram-två-högsta-värden"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "sadsmile"
published: "2006-10-11T14:56:12.000Z"
updated: "2006-10-11T22:18:48.000Z"
replies: 5
views: 498
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/152383-ta-fram-två-högsta-värden"
---

# Ta fram två högsta värden

## #1 — sadsmile, 2006-10-11T14:56Z

Hej

Jag har en tabell som (bland annat) innehåller namn på anställda, kön samt arbetade timmar.

Nu skulle jag, med en enda SQL-sats, vilja ta fram den man samt den kvinna som har arbetat mest. Detta har jag inte fått att fungera riktigt så jag undrar nu om någon kan ge mig ett tips.

Namnen på dessa fält är Name, Gender, WorkHour.

Värderna för Gender är W och M.

Och jag skulle alltså vilja ha fram ett resultat som skulle kunna se ut så här:

Name                   Gender         WorkHour
\================================
Anna Andersson       W               200
Arne Arnesson         M                400

Tacksam för tips

Anders

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

## #2 — oskars, 2006-10-11T15:01Z

Om du kör MySQL:

För alla:
SELECT MAX(WorkHour) FROM MinTabell

För kvinnor:
SELECT MAX(WorkHour) FROM MinTabell WHERE Gender = 'W' 

För män:
SELECT MAX(WorkHour) FROM MinTabell WHERE Gender = 'M'

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

## #3 — LarsG, 2006-10-11T15:15Z

```
select name,gender,workhour
  from tabell as q
 where workhour in
  (select max(workhour)
      from tabell
     where gender = q.gender)
```

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

## #4 — sadsmile, 2006-10-11T16:07Z

Oskars... Det där visste jag och det ger inte heller svaret på min fråga eftersom det du skriver är två SQL-satser. Jag ville ha fram både den kvinna som har arbetat mest och den man som har arbetat mest i en och samma sats.

LarsG.... Skall ta och testa din lösning. Återkommer senare med resultat. Tack så länge.

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

## #5 — sadsmile, 2006-10-11T22:14Z

Lars... Det fungerade inte tyvärr. Fick skriva om din kod lite för att den skulle passa min databashanterare (Firebird) men som sagt, fick inte fram något resultat. Skrev denna kod...

```
 
Select g.name,g.gender,g.workhour
from testar g
 where workhour in
  (select max(workhour)
      from testar
     where gender = g.gender)
```

Edit// Jag tar tillbaka det hela. Gjorde en enkel liten justering och då fungerade det hela.

Tack för hjälpen

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

## #6 — Peter S, 2006-10-11T22:18Z

Tjena!

Jag skulle vilja tipsa om @nders mycket visa [tråd](http://www.webforum.nu/showthread.php?t=135903) som är klistrad i detta forum. D.v.s. tala alltid om vilket DBMS det handlar om, felmeddelande o.s.v.  :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/152383-ta-fram-två-högsta-värden
