---
title: "Mest tränad tid"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/79842-mest-tränad-tid"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "limpon"
published: "2003-06-16T13:42:41.000Z"
updated: "2003-06-16T14:28:32.000Z"
replies: 4
views: 318
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/79842-mest-tränad-tid"
---

# Mest tränad tid

## #1 — limpon, 2003-06-16T13:42Z

Vet inte riktigt vart det här inlägget passar hemma. Om det är i SQL eller i ASP tråden.

Hur som helst jag chansar på att det är här.
Eftersom det är en SQL sats jag vill ha hjälp med.

Hur som helst, jag håller på att göra en träningsdagbok.
Och håller nu på att sätta ihop en topplista, på vilka som har tränat mest, vilka som har tränat mest ( i tid räknat).
Och det är här jag stuper.

Jag har 3 fält. Namn, Start_Tid, Slut_Tid.

Nu vill jag på något vis få ihop en sats som skriver ut de 5 första som har tränat mest i tid räknat.

Jag har ingen aning om hur jag ska gå till väga här riktigt.

Men vill att de ska skrivas ut så här.

1\. AAA: 14 timmar 26 min.
2\. BBB: 10 timmar 10 min.
3\. CCC: 9 timmar.

Hoppas nån kan hjälpa mig med den här SQL satsen, vore tacksam för hjälp i alla fall.

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

## #2 — LarsG, 2003-06-16T14:05Z

```
select namn, sum(datediff('s',start_tid,slut_tid))
 from t
 group by namn
order by 2 desc
```

Om du skall använda datediff eller någon annan funktion beror på vilken DBMS du använder.

Nu är summan i sekunder men det är ju väldigt enkelt att i ASP omvandla detta till timmar och minuter

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

## #3 — limpon, 2003-06-16T14:12Z

Okej kanske lite lam fråga men hur skriver jag ut tiden därifrån.
Sedan förstår jag inte riktigt nu heller, skriver den där sql satsen verkligen ut den som har tränat mest först?.

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

## #4 — Engine^, 2003-06-16T14:15Z

```
SELECT TOP 5 Namn, Sum(DateDiff("n", Start_Tid, Slut_Tid)) AS intAntalMinuter
FROM [i]tabell[/i]
GROUP BY Namn
ORDER BY 2 DESC
```

Detta förutsätter att du har Start_Tid och Stop_Tid lagrat som datum. Utskriftsformatteringen måste du antagligen hantera via asp.

```
intCounter = 1

While Not rsTopp.EOF
  intMinuter = CInt(rsTopp("intAntalMinuter")) Mod 60
  intTimmar = (CInt(rsTopp("intAntalMinuter")) - intMinuter) / 60

  Response.Write intCounter & ". " & rsTopp("Namn") &" : " & intTimmar & " timmar " & intMinuter & " min.<br>"

  rsTopp.MoveNext
Wend
```

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

## #5 — limpon, 2003-06-16T14:28Z

Okej fick till det nu, tack för hjälpen.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/79842-mest-tränad-tid
