---
title: "Sum() och group by"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/80908-sum-och-group-by"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Macce"
published: "2003-06-30T12:52:45.000Z"
updated: "2003-06-30T17:52:36.000Z"
replies: 13
views: 298
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/80908-sum-och-group-by"
---

# Sum() och group by

## #1 — Macce, 2003-06-30T12:52Z

I min statistik så mäter jag tiden som en användare har besökt en länk och när besökaren klickar på en ny länk läggs den gamla tiden + gamla link_id:t i en ny insert för den länken osv...

Nu vill jag skapa en select-sats som grupperar på sessionid och sorterar efter visitdate och summerar den totala tiden som sessionid (besökaren) varit på webbplatsen och även hur många länkar som man besökt, jag vill även bara ta med de senaste 100 besökarna i statistiken...

typ:

SELECT top 100 sessionid,count(sessionid),user_agent,http_referer, sum(page_time) FROM tbl_linkstats Group by sessionid order by visitdate desc

sitter med boken sql på 3 veckor, men tycker inte att group by fungerar enl. exemplen. Är access annorlunda tro ?

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

## #2 — Engine^, 2003-06-30T13:35Z

Det enda jag tror du behöver göra är att lägga till de kolumner du väljer ut, som inte är aggregerade (heter det så?), i din group by.

```
SELECT TOP 100 sessionid, Count(sessionid), user_agent, http_referrer, sum(page_time)
FROM tbl_linkstats
GROUP BY sessionid, user_agent, http_referrer, visitdate
ORDER BY visitdate DESC
```

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

## #3 — m_soderlund, 2003-06-30T13:36Z

Sum()/Count() m.fl. och Group använder du på följande sätt:

```
SELECT Sum(falt1),Sum(falt2) FROM tabell GROUP BY falt1,falt2 Order By falt1
```

**/r** Okej, Engine^ hann före. (lite bättre kod också..) ;)

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

## #4 — Macce, 2003-06-30T14:17Z

Vad jag inte förstår riktigt är att jag vill ju ha unika session i varje post, alltså gruppera dessa. Tar jag med fler i group by så får ju flera poster samma sessionid ???

Hur bör man göra ?

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

## #5 — LarsG, 2003-06-30T14:24Z

Kan du ge ett exempel på tabellinnehåll?

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

## #6 — Macce, 2003-06-30T14:27Z

Kolumner:
id,page_id,form_page_id,form_page_id_time,user_agent,visitday,visitdate,http_referer,resolution,userip,sessionid

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

## #7 — LarsG, 2003-06-30T14:47Z

och data för relevanta kolumner.

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

## #8 — Macce, 2003-06-30T14:50Z

page_id=nr. på föreg. länk
form_page_id_time = tiden som föreg. länk visades (sec)
visitday = veckodag 1-7
visitdate = now()
sessionid = session.sessionid

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

## #9 — LarsG, 2003-06-30T15:36Z

```
select count(*),sum(form_page_id_time),sessionid
 from tbl_linkstatus
 where cdate(visitdate) in
 (select top 100 cdate(vistidate)
     from tbl_linkstatus
   order by cdate(visitdate) desc)
group by sessionid
```

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

## #10 — Macce, 2003-06-30T16:06Z

Lars\> med top på datumen så får jag väl max 100 poster totalt, det jag är ut efter är 100 groups av sessionid...

 :( om vi börjar från början, hur får jag denna att fungera ?

select sessionid from tbl_linkstats where sessionid in (select top 10 sessionid from tbl_linkstats group by sessionid) order by visitdate desc

varför fungerar inte order by så att jag får de senaste datumen istället för de minsta sessionid ?

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

## #11 — Engine^, 2003-06-30T17:38Z

Något åt det här hållet? Ska jag vara ärlig, så känns det väldigt underligt skrivet :OO 

```
SELECT TOP 100 sessionid
FROM tbl_linkstats
WHERE sessionid IN
  (SELECT DISTINCT sessionid
    FROM tbl_linkstats
    ORDER BY visitdate DESC)
```

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

## #12 — Macce, 2003-06-30T17:46Z

ORDER BY-instruktionen (visitdate) stämmer inte med DISTINCT :(

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

## #13 — Macce, 2003-06-30T17:48Z

gör nog om statistiken och använder 2 tabeller istället med en relation mellan sessionid :OO

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

## #14 — Engine^, 2003-06-30T17:52Z

Det kanske hade fungerat om du plockat ut order by instruktionen, men jag tycker nog din ide om två tabeller är bättre.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/80908-sum-och-group-by
