Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Säkert enkel SQL-fråga om summering

Postades av 2009-03-05 13:54:23 - Per Wahlgren, i forum access, Tråden har 13 Kommentarer och lästs av 2188 personer

Hej

Jag har en tabell som jag skulle vilja göra två olika summeringar på.

Vi kan säga att fälten i tabellen tabellnamn heter:
id
personid
typid

Hur gör man då om man ex. har följande värden...

id personid typid
1 1 3
2 1 4
3 2 3
4 1 3
5 3 4

...och skulle vilja ha svaret på den här formen...

typid - antal totalt - Antal unika personer
3 3 2
4 2 2

Hoppas ni förstår hur jag menar och att någon vet hur man kan skriva detta på enklast möjliga vis.
Jag vet hur man får fram detta genom att skriva separata frågor och infoga dessa i varandra men det finns säkert ett bättre sätt.

Tack på förhand!
/ Per


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-05 15:16:25 - Per Hultqvist

Min gissning är att det blir så här :
<code="SQL">
SELECT typid, COUNT(typid) AS antal_totalt, COUNT(distinct personid) AS antal_unika_personer
FROM [tabell]
GROUP BY typid
</code>


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-05 15:38:24 - Per Wahlgren

Nästan. Men inte helt.

Access klagar på: "Syntaxfel (operator saknas) i frågeuttrycket 'COUNT(distinct personid)´.

???

/ Per


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-05 17:11:27 - Johan Djupmarker

Per Hultqvist:
Distinct i count fungerar inte i Access.

Detta blir ju inget vackert, men det enda jag kommer på för tillfället...

SELECT tabell.typid, COUNT(id) AS antal_totalt, A.UniktAntal AS antal_unika FROM tabell INNER JOIN (SELECT typid, COUNT(personid) AS UniktAntal FROM (SELECT DISTINCT typid, personid FROM tabell)) AS A ON tabell.typid = A.typid

/Johan


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-05 20:46:15 - Per Hultqvist

My bad, jag noterade inte att frågan låg i Access-forumet...hoppas Johans svar löser problemet, jag använder inte Access...


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 08:40:08 - Per Wahlgren

Tack för försöket.

Tyvärr klarar inte Access av det fullt ut.
Jag får felet "Du försökte köra en fråga med en mängdfunktion som inte innehöll det angivna uttrycket 'typid'.

Måste man ha med typid i outputen på något annat sätt?

/ Per


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 09:32:24 - Johan Djupmarker

Jag glömde GROUP BY, testa såhär:

SELECT tabell.typid, COUNT(id) AS antal_totalt, A.UniktAntal AS antal_unika FROM tabell INNER JOIN (SELECT typid, COUNT(personid) AS UniktAntal FROM (SELECT DISTINCT typid, personid FROM tabell)) AS A ON tabell.typid = A.typid GROUP BY tabell.typid, A.UniktAntal

/Johan


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 09:54:27 - Per Wahlgren

Nej, tyvärr. Samma fel fortfarande.

Kan man ladda upp liten fil här förresten? Så att du kan se hur det blir?


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 10:22:05 - Johan Djupmarker

Missade ytterligare en group by... :(

SELECT tabell.typid, COUNT(id) AS antal_totalt, A.UniktAntal AS antal_unika FROM tabell INNER JOIN (SELECT typid, COUNT(personid) AS UniktAntal FROM (SELECT DISTINCT typid, personid FROM tabell) GROUP BY typid) AS A ON tabell.typid = A.typid GROUP BY tabell.typid, A.UniktAntal

/Johan


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 10:31:10 - Per Wahlgren

Ja, nu jäklar gick det... (lät konstigt kanske *ler*)

Tack så hemskt mycket Johan! Du kan verkligen det här du.

Mvh
/ Per


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 20:58:47 - Andreas Hillqvist

Jag har inte Access att testa med så detta är helt ur huvudet men jag tror den skall ge samma resultat:

SELECT typid, SUM(antal) AS antal_totalt, COUNT(*) AS antal_unika
FROM (
    SELECT typid, COUNT(*) AS antal
    FROM tabell
    GROUP BY typid, personid) 
GROUP BY typid


Det är en lite enklare fråga, skulle vara intressant att se om den var snabbare.


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-06 23:22:00 - Johan Djupmarker

Du är kung Andreas! Men var har du varit de senaste åren!?

/Johan


Svara

Sv:Säkert enkel SQL-fråga om summering

Postades av 2009-03-07 11:40:43 - Andreas Hillqvist

Ja, du.

Har studerat och jobbat. Håller inte på så mycket med VB längre.
Vågar inte gå så långt att säga att jag inte längre är någon besserwisser. Har ännu inte bivit botad. ;-)

Det som fångat mitt intresse är Erlang (www.erlang.org), ett funktionellt språk.
Samt följer C# utvecklingen.


Svara

Sv: Säkert enkel SQL-fråga om summering

Postades av 2009-03-09 10:41:43 - Per Wahlgren

Så där ja... riktigt snyggt och kort kod också...

Tack igen för alla bra svar!


Svara

Nyligen

  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 864
27 962
271 767
397
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies