---
title: "Distinct"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21501-distinct"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "kristoffer"
published: "2001-06-27T14:53:00.000Z"
updated: "2001-06-28T06:53:00.000Z"
replies: 15
views: 343
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/21501-distinct"
---

# Distinct

## #1 — kristoffer, 2001-06-27T14:53Z

Jag vill välja ut poster där id-fältet i tabellen Order är unika.

```
SELECT *, Order.id AS rsID FROM Order INNER JOIN Car ON Order.id = Order_id
WHERE orderNr LIKE '%1234%'
```

Jag vill alltså ha något sånt här:

```
SELECT DISTINCT *, Order.id AS rsID FROM Order INNER JOIN Car ON Order.id = Order_id
WHERE orderNr LIKE '%1234%'
```

Men hur anger jag att det är Order.id som skall vara unikt? DISTINCT plockar ju bara ut poster där alla fält är unika?

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

## #2 — Vide, 2001-06-27T14:59Z

SELECT DISTINCT Order.id AS rsID FROM Order INNER JOIN Car ON Order.id = Order_id
WHERE orderNr LIKE '%1234%'

\------------------
*Vide rox = new Vide();
rox.learn("C#");*
[webeye.nu](http://www.webeye.nu)

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

## #3 — @nders, 2001-06-27T15:02Z

har iofs svårt att tänka mig att man skulle komma undan om man har en tabell som heter order.

mer reserverat än så blir det inte.

\------------------
\<A HREF="http://cartman.nu" TARGET=\_blank\>
can i borrow your goat?
\</A\>

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

## #4 — kristoffer, 2001-06-27T19:06Z

Hm. Om jag skriver så, så räcker det väl med att något fält är olikt för att jag skall selecta den posten? Jag vill ju selecta distinct med avseende på ett visst fält. Det spelar alltså ingen roll vad övriga fält är. 

Tabellen heter egentligen inte order. Jag förenklade bara namnen för att det skulle vara lättare att förstå.

\------------------
 <http://www.tavlingar.se>

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

## #5 — @nders, 2001-06-27T19:08Z

ok. :)

vad kör du för dbms?

\------------------
\<A HREF="http://cartman.nu" TARGET=\_blank\>
can i borrow your goat?
\</A\>

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

## #6 — LarsG, 2001-06-27T19:11Z

Distinct är bara applicerbart på hela rader.
Hur skulle det annars gå ihop sig?

\------------------
*essentitia preter non sans multiplicandum*

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

## #7 — kristoffer, 2001-06-27T20:05Z

SQL Server 7.0

Det skulle väl kunna gå att använda DISTINCT som "Välj ut de rader där värdet i fältet \[fält\] är unikt"?

\------------------
 <http://www.tavlingar.se>

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

## #8 — @nders, 2001-06-27T20:12Z

hmm, jo, men vilken av raderna där order.id = 5 vill du ha? hur ska servern kunna bestämma sig för det?

\------------------
\<A HREF="http://cartman.nu" TARGET=\_blank\>
can i borrow your goat?
\</A\>

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

## #9 — LarsG, 2001-06-27T20:21Z

Du vill alltså ha de rader där orderid bara förekommer 1 gång i tabellen?

Det går inte att använda distinct då den bara tar bort duplikat från ett resultat.

```

select * from orders
where orderid in (
select orderid from orders
group by orderid 
having count(*) = 1)
```

\------------------
*essentitia preter non sans multiplicandum*

\[Redigerat av LarsG den 27 jun 2001\]

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

## #10 — kristoffer, 2001-06-27T20:38Z

Heh, nä jag vill inte ha de rader där orderid bara förekommer en gång i tabellen.

order.id är alltså en räknare. varje order innehåller ett antal bilar. varje bil har ett värde order_id (notera underscore) som anger vilken order bilen tillhör. om jag söker på en viss bil vill jag presentera ordern som bilen tillhör. 

\------------------
 <http://www.tavlingar.se>

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

## #11 — LarsG, 2001-06-27T21:12Z

jag förstår inte varför du måste blanda in distinct.

Distinct tar bara bort duplikat från ett resultat.

Det är kanske något sånt här du är ute efter

```
 select * from orders
  where id in (select order_id
                  from car
                 where ... )
```

\------------------
*essentitia preter non sans multiplicandum*

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

## #12 — kristoffer, 2001-06-27T21:46Z

Nej, jag vill ta bort duplikat där duplikat i detta fallet definieras som att order.id är samma.

Om jag väljer ut tre bilar och två av dem tillhör samma order, så kommer det som det är nu visas tre ordrar. Jag vill bara visa de bägge olika ordrarna.

\------------------
 <http://www.tavlingar.se>

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

## #13 — LarsG, 2001-06-27T21:57Z

Då borde det gå bra med den subselect som jag skrev. 

\------------------
*essentitia preter non sans multiplicandum*

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

## #14 — kristoffer, 2001-06-27T22:21Z

Ja, iofs.. Hm, då kanske det var fel att använda INNER JOIN?

\------------------
 <http://www.tavlingar.se>

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

## #15 — LarsG, 2001-06-27T22:32Z

Jo.

\------------------
*essentitia preter non sans multiplicandum*

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

## #16 — kristoffer, 2001-06-28T06:53Z

Ja nu fungerar det ta mig sjutton. Det var imponerande. Jag hade ju helt fel från början. :l

\------------------
 <http://www.tavlingar.se>

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21501-distinct
