---
title: "GROUP BY 1 och räkna ihop antalet"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/75738-group-by-1-och-räkna-ihop-antalet"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "cyprys"
published: "2003-05-03T10:03:22.000Z"
updated: "2003-05-03T14:39:39.000Z"
replies: 5
views: 276
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/75738-group-by-1-och-räkna-ihop-antalet"
---

# GROUP BY 1 och räkna ihop antalet

## #1 — cyprys, 2003-05-03T10:03Z

En liten fortsättning på föregående tråd JOIN-Problem

Använder nu denna kod för att fylla en datagrid och den funkar alldeles utmärkt.

```
SQL &= "SELECT t1.objectid, t1.pris, t2.bid, t3.brand, t3.model, t3.modelvariant, t3.regyear, t4.marke "
        SQL &= "FROM auctionobjects t1 LEFT JOIN bidding t2 ON t1.id = t2.auctionobjectid, objects t3, brands t4 "
        SQL &= "WHERE t1.objectid = t3.id AND t3.brand = t4.id AND t1.auctionid = " & auctionID & " AND (t2.bid = (SELECT max(t5.bid) FROM bidding t5 WHERE t1.id = t5.auctionobjectid) OR t2.bid IS NULL)  "
        SQL &= "ORDER BY `marke`"
```

Nu skulle jag vilja med samma villkor få fram 2 kolumner. 
En kolumn med samtliga representerade märken "t4.marke" samt hur många gånger de förekommer.

I tabellen auctionobjects finns kolumnen auctionid
I tabellen auctionobjects finns samtliga objectid och vi ska välja de som har auctionid = 2 t.ex. (dynamiskt i funktionen)
I tabellen objects finns id och brand. auctionobjectid = objects.id.
I tabellen brands finns id och marke där är objects.brand = brands.id.

Jag tappar tankarna helt när jag funderar på detta, har inget riktigt bra system för SQL-frågor i skallen.

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

## #2 — aasah, 2003-05-03T12:17Z

Re: GROUP BY 1 och räkna ihop antalet

Jag tappar tyvärr kollen lite när jag läser din beskrivning men som ett första försök.

Select *det som ska ut*
From auctionobjects A, objects O, brands B
Where A.auctionid = 2 and A.objectid = O.id and
B. auctionobjectid = O.id and O.brand = B.id;

Om du har fler villkor slänger du på dem med flera and. Men nu bör dina tabeller vara korrekt "ihopsatta" tror jag (om jag fattade problemet rätt). 

Det du ska tänka på är att helt enkelt "tala om" för databasen, via SQL, vilka kolumner som innehåller "samma" värden. DU vet att när objectid i auctionobjects är lika med id i objects så behandlas samma objekt. Det gäller bara att tala om att du just är intresserad av all info som behandlar samma objekt.

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

## #3 — cyprys, 2003-05-03T13:36Z

Jag har så här mycket nu men jag lyckas inte få ut den andra kolumnen. Den som räknar ut hur många av varje märke som finns tillgängligt

```
SQL &= "SELECT t2.brand as marke1, t3.marke as marke2 "
        SQL &= "FROM auctionobjects t1 INNER JOIN objects t2 ON t1.objectid = t2.id, brands t3 "
        SQL &= "WHERE t1.auctionid = " & auctionID & " AND t3.id = t2.brand "
        SQL &= "GROUP BY 1 "
```

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

## #4 — aasah, 2003-05-03T14:24Z

> **cyprys skrev:**
>
> Jag har så här mycket nu men jag lyckas inte få ut den andra kolumnen. Den som räknar ut hur många av varje märke som finns tillgängligt...

Var finns denna info? Alltså jag menar hur ser innehållet ut? Finns det en kolumn som talar om att marke1 finns i 40 ex eller finns det 40 rader med marke1 nånstans?

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

## #5 — cyprys, 2003-05-03T14:30Z

```
AuctionObjects 
' Här kan det ligga en massa olika ObjectID som har samma AuctionID
' Varje ObjectID refererar till ID i nästa tabell
_________________
AuctionID  |  ObjectID

Objects
' Varje post har ett värde i kolumnen Brand
' Ex. Om vi från förra tabellen skulle få ut 10st olika ObjectID och referar till denna tabell. 5 av dessa har samma objects.brand-värde. Detta skulle jag vilja summera för varje GROUP BY
ID  |  brand
```

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

## #6 — aasah, 2003-05-03T14:39Z

Om du vill återanvända resultaten i din ursprungliga fråga måste du döpa den tabellen till något, mha create view.

Kan du ge ett exempel med påhittat tabellinnehåll, jag hängde inte med i förklaringen, tyvärr.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/75738-group-by-1-och-räkna-ihop-antalet
