---
title: "SQL hjälp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/88396-sql-hjälp/page2"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "sven"
published: "2003-10-13T12:53:26.000Z"
updated: "2003-10-13T21:11:36.000Z"
replies: 28
views: 658
page: 2
pages: 2
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/88396-sql-hjälp"
---

# SQL hjälp

_Sida 2 av 2._

## #21 — sven, 2003-10-13T17:08Z

Ursäkta mig LarsG... ditt konto fylls naturligtvis oxå på.... 

Ni är för snabba för varandra :)

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

## #22 — @nders, 2003-10-13T17:10Z

En tilläggsfråga som primärt riktar sig till LarsG:

Jag har för vana att alltid skriva **count(\*)**, men jag ser att du använder **count(fältnamn)**. Är det någon praktisk skillnad, är det ena SQL-standard men inte det andra, är det någon prestandaskillnad mellan de två eller är det helt enkelt en smaksak?

Mvh,
kunskapstörstande snabel

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

## #23 — Lasp, 2003-10-13T17:14Z

Japp sånt här gillar jag att se  En utökad kunskapsöverföring.
Bra gjort.

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

## #24 — Palle, 2003-10-13T17:20Z

> The Microsoft Jet database engine has special optimizations that allow COUNT(\*) to be executed much faster than COUNT(\[Column Name\]).

[Källa](http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q172/1/99.asp&NoWebContent=1)

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

## #25 — LarsG, 2003-10-13T17:24Z

Det är en funktionell skillnad

count(\*) räknar alla poster
count(kolumn) räknar de poster där kolumn inte är null

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

## #26 — @nders, 2003-10-13T17:26Z

Tack för länk, Palle, och för förklaring LarsG.

Den obligatoriska följdfrågan: Vad blir skillnaden om man, som i det här fallet, även hämtar fältets värde och använder group by? Kan alltså count(\*) returnera ett felaktigt antal i detta fall?

Mvh

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

## #27 — Engine^, 2003-10-13T18:41Z

Count(\*) returnerar inte felaktigt om du inte är på jakt efter ett annat resultat. Istället för att ange kolumnnamn brukar jag styra det med antingen HAVING eller WHERE... det brukar gå lika bra.

Jag har lite bekymmer att sätta mig in i varför man skulle använda Count(*kolumn*) om man bara har en count i frågan. :)

För övrigt så kan jag väl tillägga att i dom fall man använder Access och OleDb så är Count(\*) betydligt bättre optimerat än Count(*kolumn*) [enligt MSDN](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/f1/d2/s5a31e.asp) (här står även om *null*\-fallet).

**red.**
Läste just länken från **Palle**... kanske lite onödig postning detta, men va fanken ;)

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

## #28 — LarsG, 2003-10-13T19:12Z

> Jag har lite bekymmer att sätta mig in i varför man skulle använda Count(kolumn) om man bara har en count i frågan.

```
select pk.namn,count(fk.namn)
  from pk left join fk on pk.namn = fk.namn
 group by pk.namn
```

Då får man 0 på de namn som inte finns i fk-tabellen vilket kan vara av intresse.

Optimeringsmässigt så borde count(\*) och count(namn) hanteras lika i de fall då namn är not null.

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

## #29 — Engine^, 2003-10-13T21:11Z

Alltid lika trevligt med upplysande information från dig, **LarsG**. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/88396-sql-hjälp/page2  
Föregående sida: https://www.webforum.nu/amne/databaser-sql/88396-sql-hjälp.md
