---
title: "Ta ut medelvärde och gör Update"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/7900-ta-ut-medelvärde-och-gör-update"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Pudolf"
published: "2001-01-09T15:18:00.000Z"
updated: "2001-01-28T15:40:00.000Z"
replies: 13
views: 267
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/asp/7900-ta-ut-medelvärde-och-gör-update"
---

# Ta ut medelvärde och gör Update

## #1 — Pudolf, 2001-01-09T15:18Z

Hej. Har ett problem här, som någon kanske kan svaret på. Jag har alltså kolumner; antalroster och besokarbetyg.

Och medelbetyg fås genom att dividera besokarbetyg med antalroster. Sedan har jag en kolumn som heter just medelbetyg.

Där vill jag att det ska köras en UPDATE som uppdaterar kolumnen medelbetyg med divisionen besokarbetyg/antalroster

Det ska väl gå med ROUND, men jag vet inte hur det blir med UPDATE samtidigt.
Något såhär, den ska samtidigt avrundas till EN decimal i UPDATE:en.

```
antalroster = RS("antalroster")
besokarbetyg = RS("besokarbetyg")
medelbetyg = ROUND(besokarbetyg / antalroster, 1)
```

Jätte tacksam för svar!
/mvh Pudolf!

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

## #2 — @nders, 2001-01-09T15:52Z

varför skall du ha det i en kolumn i databasen?

varför inte räkna ut det då det frågas efter? så hade nog jag gjort iaf...

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

## #3 — Johnsen, 2001-01-09T16:03Z

varför inte räkna ut det då det frågas efter? 
För att då kan man inte göra en ORDER BY på medelvärdet, eller?

Men varför inte strunta i att avrunda när det lagras i databasen och göra det när det skrivs ut i stället?

/ J

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

## #4 — Pudolf, 2001-01-09T16:04Z

Eftersom jag hade tänkt använda det för att sortera efter kolumnen medelbetyg och inte bara kunna visa det på den sidan utan också på andra sidor.

Är det krångligt att göra en UPDATE så som jag vill ha den? Mycket kod och så :q

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

## #5 — Pudolf, 2001-01-10T18:14Z

GÅR det att göra överhuvudtaget?

/mvh Pudolf?

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

## #6 — Pudolf, 2001-01-11T14:39Z

hmm.. går det att göra på något annat sätt än det jag ville? (lägga in medelvärde i databas) ?

Men om jag gör på något annat sätt, kan jag då sortera efter medelvärdet på något sätt?

/mvh pudolf

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

## #7 — LarsG, 2001-01-11T15:36Z

Jag förstår inte heller varför man skall lägga in medelvärdet i databasen. Du kan ju räkna ut det i din select och använda det i order by

```
 select ROUND((betyg+0.0)/(antal+0.0),1)
   as average from yur_table
    order by average desc
```

Annars är det inget problem att lägga in uttrycket direkt i en update. (Man kan också uppdatera flera kolumner samtidigt; i ett tidigar inlägg såg jag att du hade flera update vilket är onödigt)

```
  update your_table 
     set col1 = round(12.0/4.0,1),
         col2 = 12,
         col3 = 4
   where col4 = 4711
```

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

## #8 — Pudolf, 2001-01-27T13:14Z

Har testat LarsG's kod lite men den vill inte sortera efter "medelbetyg".

```
SQLb = "SELECT top 5 id, text, namn, rubrik, ROUND(besokarbetyg/antalroster,1) as medelbetyg FROM Artikel WHERE namn = 'laban' ORDER BY medelbetyg DESC "
Set RS = Connection.Execute(SQLb)
```

Om jag tar ORDER BY rubrik DESC, så fungerar det, om jag tar medelbetyg DESC visas bara "ingeting hittades" (Den texten visas om RS.EOF är sant)

Vad är fel?
Tacksam för svar!

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

## #9 — LarsG, 2001-01-27T14:06Z

Hm, det fungerar bra i den DBMS (det är inte Access)som jag använder. 

En möjlighet är att man kan ange ett kolumnnummer i stället för namnet, dvs

```
SQLb = "SELECT top 5 id, text, namn, rubrik, ROUND(besokarbetyg/antalroster,1) as medelbetyg FROM Artikel WHERE namn = 'laban' ORDER BY 5 DESC "
```

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

## #10 — Pudolf, 2001-01-27T16:21Z

hej,

det fungerar, men siffrorna ställer sig inte i ordning. Jag har dessa siffror:

Rubrik 1 - 5,1
Rubrik 2 - 6,5
Rubrik 3 - 6,4
Rubrik 4 - 8,7
Rubrik 5 - 7,9

Så blir det om jag har ORDER BY 5 Desc

Med ORDER BY 5 Asc blir det såhär:

Rubrik 1 - 7,9
Rubrik 2 - 8,7
Rubrik 3 - 5,1
Rubrik 4 - 6,5
Rubrik 5 - 6,4

Varför blir det så? Finns det något sätt att få den att fungera, Access använder jag.
/mvh pudolf

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

## #11 — LarsG, 2001-01-27T16:45Z

Nej, jag förstår inte varför det inte fungerar. 
Tyvärr så har jag inte tillgång till Access så jag kan inte testa något.

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

## #12 — Pudolf, 2001-01-28T11:50Z

det löste sig tillslut..
tack

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

## #13 — LarsG, 2001-01-28T12:56Z

Hur löste du det?

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

## #14 — Pudolf, 2001-01-28T15:40Z

det var ett slarvfel från min sida.

jag hade visst 6 kolumner med, s¨jag ändrade till ORDER BY 6 DESC

Så enkelt var det :)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/7900-ta-ut-medelvärde-och-gör-update
