Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
sirius4k
HV veteran
liitunud: 25.09.2005
|
28.01.2016 11:32:02
MSSQL Keeruline SELECT |
|
|
Tervist
Ei oska seletada lühidalt, mida ma teha tahan, seega sai pealkirjaks siuke suht mitte midagi ütlev sõnade kogum.
Näiteks mul on tabel selliste päistega
ID, Jupi_nimi, Kuupäev
Ma tahaks, et kõigepealt loetaks kokku, mitu jupi_nimi on ja reastataks need siis kahanevalt JA näitama peaks ainult ridasid, millede nimed ma määran ning ülejäänud on ühise nimetajaga "Muud".
Ma olen jõudnud nii kaugele, et saan ridade kogused kätte.. aga ma oskan kogu tabeli sisu saada ja mitte seda "Muud" osa.
SELECT Jupi_nimi, COUNT(*) AS JuppeKokku
FROM Jupitabel
GROUP BY jupi_nimi
ORDER BY JuppeKokku
DESC |
Selle tulemusena tuleb siis:
Prosed 123
Mälud 90
SSD 10
HDD 5
Ventikad 1
Monitorid 1
Klaverid 1
Ma tahaks, et see näeks välja selline (tulemus peaks tulema ridade nimede ("Prosed","Mälud") järgi, mitte >=90 selle näite põhjal ja kõik, mis ei ole need kaks, liidetaks kokku ühele reale):
Prosed 123
Mälud 90
Muud 18
Praegu tuleb mul pähe ainult mingite temp tabelite tegemine ja siis nendest uude tabelisse info kandmine, mis on halb. Tõenäoliselt on mingi intelligentsem variant, kuidas seda teha.
Sai vist piisavalt segane
|
|
Kommentaarid: 55 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
|
-vodafone-
HV Guru
liitunud: 26.04.2005
|
28.01.2016 11:36:53
|
|
|
WHERE ?
|
|
Kommentaarid: 240 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
3 :: |
213 |
|
tagasi üles |
|
|
xecroy
HV kasutaja
liitunud: 23.05.2008
|
28.01.2016 11:51:45
|
|
|
Uus tulp category, group by categories.
_________________ Kõige suurem pidur on alati ketas. Naudi inimväärset elu, osta SSD! |
|
Kommentaarid: 20 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
19 |
|
tagasi üles |
|
|
sirius4k
HV veteran
liitunud: 25.09.2005
|
28.01.2016 11:53:23
|
|
|
Kui ma kasutaks WHERE, saaksin ma tulemuse, kus näidatakse ainult:
Prosed 123
Mälud 90
Ma ei oska väiksemate numbritega ridu agregeerida (kui see on sõna üldse ), kus näidataks siis ülejäänud ridade summat nime all Muud.
|
|
Kommentaarid: 55 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
|
DoS
HV veteran
liitunud: 19.08.2002
|
28.01.2016 12:01:58
|
|
|
Teed 2 SELECTi ja paned UNIONiga kokku. Ühega võtad WHERE'iga need, mida tahad ja teisega need, mida ei taha "Muu" alla kokku grupeerida.
|
|
Kommentaarid: 50 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
47 |
|
tagasi üles |
|
|
sirius4k
HV veteran
liitunud: 25.09.2005
|
28.01.2016 15:11:19
|
|
|
Tänud
Tuli välja, et UNION-i mul vaja oligi.
|
|
Kommentaarid: 55 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
|
Alan
HV veteran
liitunud: 12.02.2008
|
28.01.2016 15:26:11
|
|
|
Lahendus ilmselt käes aga:
SELECT Jupi_nimi, COUNT(*) as JuppeKokku FROM Jupitabel WHERE Jupi_nimi IN ('Prosed', 'Mälud') GROUP BY Jupi_nimi UNION SELECT "Muud" As Jupi_nimi, COUNT(*) as JuppeKokku FROM Jupitabel WHERE Jupi_nimi NOT IN ('Prosed', 'Mälud') ORDER BY JuppeKokku DESC
Proovinud ei ole.
|
|
Kommentaarid: 130 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
120 |
|
tagasi üles |
|
|
sirius4k
HV veteran
liitunud: 25.09.2005
|
28.01.2016 15:40:18
|
|
|
Alan kirjutas: |
Lahendus ilmselt käes aga:
SELECT Jupi_nimi, COUNT(*) as JuppeKokku FROM Jupitabel WHERE Jupi_nimi IN ('Prosed', 'Mälud') GROUP BY Jupi_nimi UNION SELECT "Muud" As Jupi_nimi, COUNT(*) as JuppeKokku FROM Jupitabel WHERE Jupi_nimi NOT IN ('Prosed', 'Mälud') ORDER BY JuppeKokku DESC
Proovinud ei ole. |
Naiss Seda ma esialgu mõtlesin ja tahtsingi
Ma vahepeal jõudsin sellise asjaga kokku keerata
SELECT 'Prosed' AS Kategooria, COUNT(*) AS Kogus FROM Jupitabel WHERE Jupi_nimi = 'Prosed'
UNION
SELECT 'Mälud' AS Kategooria, COUNT(*) AS Kogus FROM Jupitabel WHERE Jupi_nimi = 'Mälud'
UNION
SELECT 'Muud' AS Kategooria, COUNT(*) AS Kogus FROM Jupitabel WHERE Jupi_nimi != 'Prosed' OR Jupi_nimi != 'Mälud' |
Mis ei ole kaugeltki nii viisakas, kui su variant ja näeb välja rohkem nagu mingi häkk, aga toimis
|
|
Kommentaarid: 55 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|