ďťż
 
count + case i problem ďťż
 
count + case i problem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

count + case i problem



pofe@gazeta.pl - 03-02-2007 00:01
count + case i problem
  Witam
Chce uzyskac liczbe rekordow spelniajacych warunek i ich % udzial w
calosci
kiedy wykonuje zapytanie
SELECT COUNT(*) as wszystkie, COUNT(CASE .... END) as czesc FROM
tab_test

otrzymje ladnie wyniki
wszystkie czesc
47 31

ale jesli probuje

SELECT COUNT(*) as wszystkie, COUNT(CASE .... END) as czesc,
((czesc*100)/wszystkie) as udzial FROM tab_test

dostaje blad nieznanej kolumny czesc :(

Czy ktos wie dlaczego?

Pozdrawiam
Przemo





Maciej =?iso-8859-2?Q?=A3uszczy=F1ski?= - 03-02-2007 00:01

 
> Chce uzyskac liczbe rekordow spelniajacych warunek i ich % udzial w
> calosci
> kiedy wykonuje zapytanie
> SELECT COUNT(*) as wszystkie, COUNT(CASE .... END) as czesc FROM
> tab_test
>
> otrzymje ladnie wyniki
> wszystkie czesc
> 47 31
>
> ale jesli probuje
>
> SELECT COUNT(*) as wszystkie, COUNT(CASE .... END) as czesc,
> ((czesc*100)/wszystkie) as udzial FROM tab_test
>
> dostaje blad nieznanej kolumny czesc :(
>
Witam.

Twoje zapytanie ma pewna sprzecznosc: jest wykonywane dla kazdego rekordu z
osobna, natomiast chcialoby (chcialbys) znac wynik obliczany dla wszystkich
:) Obawiam sie, ze nie da sie tego pogodzic (a przynajmniej nie w ten
sposob). Mozesz rozbic to na dwa kroki albo korzystac z podzapytan
(pierwszy wariant ponizej):

DECLARE @Wszystkie int, @Czesc int

SELECT @Wszystkie = COUNT(*) as wszystkie, @Czesc = COUNT(CASE .... END) as
czesc
FROM tab_test

IF @Wszystkie <> 0
SELECT @Wszystkie AS Wszystkie, @Czesc AS Czesc, @Czesc*100/@Wszystkie
AS Udzial
ELSE
SELECT 0 AS Wszystkie, 0 AS Czesc, 0 AS Udzial

Pozdrawiam
Maciek

PS. Dodawaj informacje o bazie, z ktorej korzystasz.
M.
--
*** A czym się różni Cray od normalnego peceta?
*** Tym, że Cray wykonuje pętle nieskończone w 10 sekund.




pofe@gazeta.pl - 03-02-2007 00:01

  OK, juz znalazlem odp :)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • bajkomoda.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com