---
title: "Index av flera faktorer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/110914-index-av-flera-faktorer"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "joakimweb"
published: "2004-09-06T10:49:19.000Z"
updated: "2004-09-07T10:56:49.000Z"
replies: 3
views: 210
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/110914-index-av-flera-faktorer"
---

# Index av flera faktorer

## #1 — joakimweb, 2004-09-06T10:49Z

Hej!

Jag tänkte göra en topplista som sorteras utefter ett slags index baserat på följande:

tbl_toplist_users
userId
userIn
userOut
userStart (nollställs varje söndag)

Detta index skulle rent matematiskt skapas enligt följande:
(userIn + (userOut/5)) / (DateDiff(userStart -- Now))
Alltså att userIn har störst betydelse och att ju längre tid som gått desto fler röster behövs för att bibehålla sitt index-tal. Detta gör det också möjligt för nya användare att gå med enkelt.

Jag har ärligt talat ingen aning om hur det skall lösas i SQL. 
"SELECT userId, userIn, userOut FROM \`databas2\`.\`tbl_toplist_users\` Order By userIn DESC limit 15"
Är grunden.

Tacksam för allt!

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

## #2 — LarsG, 2004-09-06T14:04Z

Du kan ju lägga in uttrycket direkt i order by om du vill

```
order by 
(userIn + (userOut/5)) / (DateDiff('h',userStart,Now())) desc
```

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

## #3 — joakimweb, 2004-09-07T09:58Z

Tack LarsG, dock är versionen 4.0.x (slarvigt av mig att inte ange)
Unix_timestamp eller nåt finns, men hur skulle det användas?
Eller finns det något ännu bättre?

/Joakim

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

## #4 — joakimweb, 2004-09-07T10:56Z

Ett stort tack till alla!

Jag löste det så här:
SELECT \*, (userIn + (userOut/5)) / ((UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(userFrom))/60/60) As userIndex FROM \`db2\`.\`tbl_toplist_users\` Order By userIndex DESC, userId ASC limit 15"

/Joakim

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/110914-index-av-flera-faktorer
