---
title: "Presentera data!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/99272-presentera-data"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Greven"
published: "2004-03-11T23:00:20.000Z"
updated: "2004-03-14T22:27:41.000Z"
replies: 14
views: 376
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/99272-presentera-data"
---

# Presentera data!

## #1 — Greven, 2004-03-11T23:00Z

Har två frågor!

Har en tabell: fnamn, enamn, kmtid, distans, tid

**Fråga 1** 

Vill göra en maratonliga! Där top5 listas som har sprungit flest meter (distans). Detta skall endast räknas ut om det finns text i 'tid'-fältet.

Finns inga dubbletter sambandet fnamn och enamn.

**Fråga 2** 

Här vill jag göra en fartlista, dvs. de 5 bästa kmtider skall skrivas ut.

Finns möjligheten? :)

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

## #2 — aasah, 2004-03-12T09:48Z

Re: Presentera data!

> **Greven skrev:**
>
> ...Har en tabell: fnamn, enamn, kmtid, distans, tid
> 
> **Fråga 1** 
> 
> Vill göra en maratonliga! Där top5 listas som har sprungit flest meter (distans). Detta skall endast räknas ut om det finns text i 'tid'-fältet.

Hur ser det ut i tid om där inte finns en tid? Är inget insatt ==\> där står NULL eller har du något defaultvärde som är tomma strängen, 0, ... eller dylikt? Byt i det senare fallet ut NULL nedan mot ditt defaultvärde.

select top 5 \* from tabell where tid \<\> NULL order by distans desc;

> **Greven skrev:**
>
> ...**Fråga 2** 
> 
> Här vill jag göra en fartlista, dvs. de 5 bästa kmtider skall skrivas ut....

select top 5 \* from tabell order by kmtid desc;

Båda dessa uttryck skriver ut alla kolumner för de rader som kommer ut.

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

## #3 — Greven, 2004-03-12T11:03Z

**Fråga 2**

Jag vill lägga ihop alla längderna (distans) som personen ifråga har sprungit.

Databas:
fnamn,enman,distans,tid,kmtid
Göran, Persson, 5000,55.55,6.45
Göran, Persson, 6000,55.55,8.45
Göran, Persson, 5000, ,7.45 \<-- Denna skall därmed inte räknas med, eftersom 'tid' inte finns.
Lars Persson, 6550,55.55,8.45
Per Persson, 5550,55.55,8.45

Top 3
Göran Persson - 11000 m
Lars Persson - 6550 m
Per Persson - 5550 m

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

## #4 — Greven, 2004-03-14T14:09Z

Ingen som vet? :OO

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

## #5 — LarsG, 2004-03-14T15:00Z

```
select top 5 * from tabell where tid <> NULL order by distans desc
```

Kommer aldriig att ge något resultat. 

```
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> ''
group by fnamn,enamn
order by xtrm desc
```

```
select fnamn,enamn,kmtid
from t
order by kmtid
```

Hur du begränsar antalet poster till de 5 med lägst kmtid beror på vilken dbms du använder.

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

## #6 — Greven, 2004-03-14T16:12Z

Använder access 2003 :OO

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

## #7 — LarsG, 2004-03-14T16:13Z

```
select top 5 fnamn,enamn,kmtid
from t
order by kmtid
```

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

## #8 — Greven, 2004-03-14T16:23Z

Förstod det :)

```
SQL = "select fnamn,enamn,sum(langd) as xtrm from 2004 where tid <> '' group by fnamn,enamn order by xtrm desc"
```

Ger följande:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
\[Microsoft\]\[Drivrutin för ODBC Microsoft Access\] För få parametrar angavs. 1 förväntades.

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

## #9 — LarsG, 2004-03-14T16:34Z

Det finns ett fel i Access som innebär att den inte förstår den variant av order by som jag använde mig av. Istället så får du använda

```
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> ''
group by fnamn,enamn
order by 3 desc
```

3 motsvarar då den position i select-listan som sum(distance) har.

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

## #10 — Greven, 2004-03-14T20:26Z

Nu skriver den ut sidan utan problem... men sum(distance) räknar även då det inte finns något i fältet 'tid'.

tid-fältet är i textformat, enligt mm.ss

```
Databas:
id,fnamn,enman,distans,tid,kmtid
1,Göran, Persson, 5000,55.55,6.45
2,Göran, Persson, 6000,55.55,8.45
3,Göran, Persson, 5000, ,7.45 <-- Denna skall därmed inte räknas med, eftersom 'tid' inte finns.
4,Lars Persson, 6550,55.55,8.45
5,Per Persson, 5550,55.55,8.45

Top 3
Göran Persson - 11000 m
Lars Persson - 6550 m
Per Persson - 5550 m
```

Just nu summeras även Göran Perssons längd i id 3

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

## #11 — LarsG, 2004-03-14T21:34Z

```
select fnamn,enamn,sum(distance) xtrm
from t
where tid <> '' and tid is not null
group by fnamn,enamn
order by 3 desc
```

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

## #12 — Greven, 2004-03-14T21:59Z

Funkar kanon!

En liten grej på **fråga 2**:

```
select top 5 fnamn,enamn,kmtid from " & request.querystring("ar") & " order by kmtid
```

Fältet kmtid är text format, enligt mm.ss

Det skriv inte ut någon kmtid, och top 5 funkar inte... har det med formatet att göra?

fnamn och enamn skrivs ut i tabellen, men kmtid utelämnas...  :q

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

## #13 — LarsG, 2004-03-14T22:06Z

> Fältet kmtid är text.

Det vore bättre att lagra det som decimal.

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

## #14 — Greven, 2004-03-14T22:11Z

Okej  :e 

Det finns alltså ingen möjlighet att presentera top 5 av kmtid i formatet 'text' ?

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

## #15 — LarsG, 2004-03-14T22:27Z

Text och numeriska värden sorteras olika

T.ex så är '10' mindre än '2' när man jämför text.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/99272-presentera-data
