Avatar billede jetsetter Nybegynder
19. juli 2007 - 14:16 Der er 9 kommentarer og
1 løsning

Grupper data

Jeg har nogle data som jeg gerne vil have grupperet.

data kommer ud nu som følger:

ID, antal
1, 4
1, 5
2, 3
2, 7
3, 1
4, 1

Jeg vil gerne putte ID = 1 og ID = 4 i samme gruppe og lægge deres antal sammen. Og gøre det samme med ID 2 og 3.

Kan det lade sig gøre uden at oprette nye tabeller, dvs i views eksempel?
Avatar billede jetsetter Nybegynder
19. juli 2007 - 14:17 #1
data ligger i en SQL database og i samme tabel
Avatar billede jetsetter Nybegynder
19. juli 2007 - 14:18 #2
nå ja og antal er konstrueret ud fra en agreggeret funktion (count)
Avatar billede erikjacobsen Ekspert
19. juli 2007 - 14:18 #3
select id,sum(antal) from dintabel group by id
Avatar billede erikjacobsen Ekspert
19. juli 2007 - 14:19 #4
Nå, ok, der var jeg for hurtig.  1 og 4 sammen  og 2 og 3 sammen ?
Noget med subselects og union ??
Avatar billede jetsetter Nybegynder
19. juli 2007 - 14:26 #5
måske? jeg er lidt ny i sql.
Avatar billede jetsetter Nybegynder
19. juli 2007 - 14:27 #6
union er til at sammenkoble tabeller så vidt jeg ved

subselect har jeg tænkt på at bruge, men ved ikke helt hvordan
Avatar billede erikjacobsen Ekspert
19. juli 2007 - 23:56 #7
Kan vi se hvordan du får de data du har nu?
Avatar billede teepee Nybegynder
20. juli 2007 - 12:38 #8
skal det være i samme række eller i flere rækker?
rækker:
select case when id in (1,4) then 1 else 2 end, sum(antal)
from tabel
group by case when id in (1,4) then 1 else 2 end
kolonner:
select sum(case when id in (1,4) then antal else null end) sum14,
      sum(case when id not in (1,4) then antal else null end) sum23
from tabel
(har ikke checket om de kompilerer...)
Avatar billede jetsetter Nybegynder
01. august 2007 - 11:26 #9
jeg har prøvet med Case funktionen, kan ikke løse mit problem, jeg prøver en anden vinkel:

Jeg har nu trukket 9 sæt data ved hjælp af individuelle Select kommandoer:

jeg får følgende ud fra eksepelvis 2 af select kommandoerne:

den første:

overskrift1    overskrift2
1      654
2      34
3        3
4      343
5        33
6        432
7      765
8      9
9      5
10        65
11          654
12        43

den anden:

overskrift1    overskrift2
1      24
2      4
3        43
4      33
5        3
6        4432
7      75
8      94
9      54
10        465
11          54
12        3


hvordan laver jeg en kode som beholder søjle 1 fra begge udtræk men sætter de to søjle 2'er ved siden af hinanden??

Jeg kan ikke vise data/præcis kode da de indeholder personfølsomme oplysninger.

Forslag til hvordan jeg kan gøre problemet mere forståeligt modtages gerne :)
Avatar billede jetsetter Nybegynder
08. august 2007 - 10:25 #10
det løste ikke mit problem, jeg prøver i et nyt spørgsmål ved en ny og mere præsic formulering, ved hjælp af et konkret eksempel. lukker her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester