---
title: "distinct på ett av fälten"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/64392-distinct-på-ett-av-fälten"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "JAreMANNEN"
published: "2003-01-10T13:18:37.000Z"
updated: "2003-01-10T16:48:25.000Z"
replies: 9
views: 259
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/64392-distinct-på-ett-av-fälten"
---

# distinct på ett av fälten

## #1 — JAreMANNEN, 2003-01-10T13:18Z

Undrar hur man sääter ihop en SQL-sträng som använder distinct på ETT fält...

typ något sånt här.. ;)

```
select id, namn, (distinct ingredienser), pris from pizzor
```

Så att pizzan kan ha likadana namn men INTE likadana ingredienser...
Tycker att det borde gå att få ihop det på nåt sätt!

THX!

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

## #2 — LarsG, 2003-01-10T13:29Z

Nej det går inte att få ihop, inte hos mig i alla fall.

Vad har du för tabellinnehåll och vad vill du ha för resultat?

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

## #3 — JAreMANNEN, 2003-01-10T13:40Z

tabellstruktur:
id \| nr \| namn \| innehall \| pris

Såhär ser det ut just nu...

```
sql = "SELECT distinct innehall, id FROM restaurangpizzor ORDER BY innehall"
set rsPizza = databas.execute(sql)

if rsPizza.EOF then
  response.Write ("Hittade inget")
else
  do until rsPizza.EOF
		
    sql = " select nr, namn, pris, avhpris from RestaurangPizzor where Id = "& rsPizza("id")
    set rs2 = databas.execute(sql)

    response.write ("namn: "& rs("namn") &"<br>innehåll: "& rsPizza("innehall") &"<br><br>")

    rsPizza.movenext
  loop
end if
```

Som det är nu så kan jag ju (som jag tänker iaf) \_INTE\_ sortera efter Namn, eftersom den ligger i Innehåll loopen...

Och då blir det hela lite knasigt, för jag vill ju sortera efter pizzornas namn och inte innehållet

Hoppas du förstår det hela nu.. :)

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

## #4 — Marcus E, 2003-01-10T14:19Z

För att sortera ut dubletter i ett fält kan du använda GROUP BY.
T.ex. select id, namn, ingredienser, pris from pizzor group by ingredienser

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

## #5 — JAreMANNEN, 2003-01-10T14:38Z

hrm, får felmess....
fattar ingenting utav det så jag ber om lite hjälp här.. ;)

```
SELECT id, nr, namn, innehall, pris, avhpris FROM restaurangpizzor group by innehall ORDER BY namn
```

**genererar följande fel:**
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
\[Microsoft\]\[ODBC SQL Server Driver\]\[SQL Server\]Column 'restaurangpizzor.Id' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

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

## #6 — LarsG, 2003-01-10T14:59Z

Visa lite datainnehåll och förklara :

Vad är duplikat?

Om det finns duplikat, hur vill du välja bland de andra kolumnerna?

Jag förstår inte vad du vill ha för resultat.

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

## #7 — JAreMANNEN, 2003-01-10T15:08Z

OK, here we go!

datainnehåll i DB:
id \| nr \| namn \| innehall \| pris \| avhpris
\---------------------------------------
1 \| 24 \| Ciao Ciao \| Tomat, ost, skinka, fläskfilé, vitlök, champinjoner \| 65 \| 62
2 \| 12 \| Ciao Ciao \| Tomat, ost, skinka, fläskfilé, vitlök, champinjoner \| 70 \| 65
3 \| 49 \| Ciao Ciao \| Tomat, ost, skinka, fläskfilé, vitlök \| 60 \| 50

Detta är tre poster ur databasen, alla tre har \_samma\_ namn, två av dom har likadant innehåll i pizzan.

Utav detta vill jag få ut TVÅ poster med namnet "Ciao Ciao".
Eftersom att innehållet på två utav dom tre är samma så ska den "räknas" som en, därav min fråga kring distinct (läs första inlägget). Det är altså innehall som är duplikat...

Räcker detta eller behöver du ha mer information?

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

## #8 — LarsG, 2003-01-10T16:16Z

Vad är det för skillnad mellan 1 och 2?  Det som är oklart är vilken av dessa poster som man skall hämta och du måste definera  vilka villkor man skall använda.  Det är den information jag är ute efter. T.ex så kan du ta den post där id är lägst

```
 
select * from restaurangpizzor
where id in (select min(id) from restaurangpizzor
group by namn,innehall)
```

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

## #9 — JAreMANNEN, 2003-01-10T16:33Z

skillnaden mellan 1 och 2 är dess id-nummer, eftersom dom hör till två olika pizzerior.

jag behöver alla fält i uthämtningen,  innehållet i pizzan får \_inte\_  vara lika... :)

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

## #10 — LarsG, 2003-01-10T16:48Z

Det går inte ihop. Hur skulle resultatmängden se ut i detta fall? En kolumn i en resultatmängd kan enbart innehålla ett värde. 

Är du ute efter att få

1,2 \| 24,12 \| Ciao Ciao \| Tomat, ost, skinka, fläskfilé, vitlök, champinjoner \| 65,70 \| 62,65
3 \| 49 \| Ciao Ciao \| Tomat, ost, skinka, fläskfilé, vitlök \| 60 \| 50

?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/64392-distinct-på-ett-av-fälten
