Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Funkcia - MS SQL

Dobrý deň,

Vedeli by ste mi poradit aku funckiu ( respektive syntax prikazov ) ktoru mam pouzit, ak potrebujem vypocitat urcitu cast v percentach.

Mam databzu v nej 200 ludi, a pri vybere napr. podla vzdelania mi zobrazi 35 ludi ( ktori splnaju danu podmienku ) z tych 200, toto mam hotove a este potrebujem aby mi vypocitalo kolko je to percent ( 35 z 200 ).

Kto by vedel poradit ??

Dakujem

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
select (select count(*) from tabulka where [[tvoja podmienka]]) / (select count(*) from tabulka)…
wam_Spider007 20.04.2015 15:36
wam_Spider007
Vedel by si mi to prosimta upravit ? SELECT Meno,Priezvisko,Email, FROM schema.Clovek WHERE (Meno)=…
corel 20.04.2015 15:50
corel
Takto ti to fungovat nebude. Nemuzes groupovat podle prijmeni a mailu a chtit jmeno. Proc grupujes?…
Jan Fiala 20.04.2015 16:28
Jan Fiala
No neviem preco, ale to Procentualni zastoupeni mi neide: SELECT Meno Count(*) / (Select count(*) f…
corel 20.04.2015 16:52
corel
Chybějící závorka.
ws79 20.04.2015 17:13
ws79
Chybějící čárka za Meno, ale to už je jen detail :-( Tu jednu závorku navíc už si opravil.
Jan Fiala 20.04.2015 17:14
Jan Fiala
dopisal som tu ciarku za Meno, A teraz je iny problem: Error: Msg 8120, Level 16, State 1, Line 2 C…
corel 20.04.2015 17:21
corel
Trošku jsem ti to upravil: SELECT Meno, Procento=Count(*) * 100.0 / (Select count(*) from schema.Cl…
Jan Fiala 20.04.2015 18:14
Jan Fiala
Dakujem, uz to funguje :) Ale vies mi este poradit ako upravit to Percento ? Lebo mi vypise: 1.9531…
corel 20.04.2015 18:25
corel
SELECT Meno, Procento=cast(Count(*) * 100.0 / (Select count(*) from schema.Clovek) as decimal(18,2))…
wam_Spider007 20.04.2015 18:58
wam_Spider007
skvele :) A posledna vec, dalo by si este aby vo vypise za vypocitam cislom napisalo este % ? Skusal…
corel 20.04.2015 19:05
corel
Procento=Cast(cast(Count(*) * 100.0 / (Select count(*) from schema.Clovek) as decimal(18,2)) as varc…
Jan Fiala 20.04.2015 19:09
Jan Fiala
Skvele, velmi pekne dakujem :) Este keby som v buducnosti mal nejaky problem s MSSQL viem na koho s… poslední
corel 20.04.2015 19:12
corel

Takto ti to fungovat nebude. Nemuzes groupovat podle prijmeni a mailu a chtit jmeno.
Proc grupujes? To tam mas vic lidi, kteri maji stejne prijmeni a mail?

Navic bude vysledkem treba 20 radku a u kazdeho bude 23%? To je nesmysl.

Vypis Jozefu:

SELECT Meno,Priezvisko,Email,
FROM schema.Clovek
WHERE (Meno)='Jozef'

Procentualni zastoupeni Jozefu:

SELECT Meno, Count(*) / (Select count(*) from schema.Clovek)) * 100
  FROM Schema.Clovek
  WHERE Meno='Jozef'

No neviem preco, ale to Procentualni zastoupeni mi neide:

SELECT Meno Count(*) / (Select count(*) from schema.Clovek) * 100
FROM Schema.Clovek
WHERE Meno='Jozef'

Error:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '*'.
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '*'.

Kde moze byt problem ?

Trošku jsem ti to upravil:

SELECT Meno, Procento=Count(*) * 100.0 / (Select count(*) from schema.Clovek)
  FROM Schema.Clovek
  WHERE Meno='Jozef'
  GROUP BY Meno

Group by tam v tomto případě být musí, pokud by tam Meno nebylo uvedene v Select, pak group by byt nemusi
Nasobeni 100.0 je tam z duvodu toho, aby z toho MS SQL udelal cislo z desetinnou carkou. Jinak by to vzal jako cele cislo a nevychazelo by ti to presne

Zpět do poradny Odpovědět na původní otázku Nahoru