---
title: "Sortera efter tid och annat fält"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/127503-sortera-efter-tid-och-annat-fält"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "SimonG"
published: "2005-05-03T01:13:45.000Z"
updated: "2005-05-03T12:36:15.000Z"
replies: 5
views: 302
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/127503-sortera-efter-tid-och-annat-fält"
---

# Sortera efter tid och annat fält

## #1 — SimonG, 2005-05-03T01:13Z

hej, 

jag håller på med en statistik applikation och har kört fast med hur jag skall ta reda på hur länge besökaren är på sidan. 

Jag loggar det unika browser id't via sessions i databasen tillsammans med tiden (datetime) samt vilken sida som besöktes. 

sessions = server_sid
tiden = server_time
vilken sida = client_referrer

Men jag kan inte komma på hur jag skall få vad client_referrer är när tiden är "max" så att säga. 

Följade kod ger mig enbart den första träffen i client_referrer, jag vill ha ut den sista. 

```php
SELECT DISTINCT Server_SID , client_referrer, max( server_time ) AS max_time
FROM usury_hits
WHERE user_id = '1'
GROUP BY server_sid
ORDER BY hit_id
LIMIT 0 , 30
```

 

databasen är mysql.

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

## #2 — Engine^, 2005-05-03T06:40Z

```
ORDER BY server_time DESC
```

möjligen?

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

## #3 — SimonG, 2005-05-03T11:56Z

> **Engine^ skrev:**
>
> ```
> ORDER BY server_time DESC
> ```
>
> möjligen?

nej det hjälper inte. 

resultatet på min fråga i första inlägget kan se ut såhär: 

```php
Server_SID                           client_referrer              max_time
783d843205f5eb17b5726927cba675d8 	Direct Hit  	             2005-04-24 07:16:13
d5ea2af1a295924bc17f23e7bb3a38a1 	domain.com/stats/hellow.php  2005-04-24 07:20:58
43330911c884fadf5f81c45c97de9a36 	Direct Hit 	              2005-04-24 07:23:24
```

men kollar jag på tex 783\* server_sid och den sista client_referrern är inte "direct hit" utan domain.com/stats/helloagain.php, "direct hit" är den första. 

När det inte finns någon högre tid (max_time) när den raden visas vill jag även ha det värdet som är på samma rad men från client_referrer fältet.

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

## #4 — LarsG, 2005-05-03T12:09Z

```
SELECT Server_SID , 
  client_referrer, 
server_time as max_time
FROM usury_hits uh
WHERE user_id = 1
and server_time in (
select max(server_time)
from usury_hits
where server_sid = uh.server_sid)
ORDER BY hit_id
LIMIT 0 , 30
```

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

## #5 — SimonG, 2005-05-03T12:16Z

> **LarsG skrev:**
>
> ```
> SELECT Server_SID , 
>   client_referrer, 
> server_time as max_time
> FROM usury_hits uh
> WHERE user_id = 1
> and server_time in (
> select max(server_time)
> from usury_hits
> where server_sid = uh.server_sid)
> ORDER BY hit_id
> LIMIT 0 , 30
> ```

Aha, subquerys var lösningen. funkar kalas. Tack Lars!

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

## #6 — SimonG, 2005-05-03T12:36Z

Frågan känns väldligt slö, 

den tar ca 3 sekunder med limit 10, ca 4.5 sekunder med limit 30 och ca 5,3 sekunder med limit 50. 

Går det att lösa med index på något sätt?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/127503-sortera-efter-tid-och-annat-fält
