Jak obliczyć % ?

0

Witam,

Chciałem prosić o pomoc w napisaniu zapytania sql którego wynikiem będzie % pracowników którzy nie ukończyli szkolenia.

  • baza danych MsSql,
  • tabela osoby
    • kolumny np. osoba_id, data_zwolnienia, konto_szkoleniowe, data_ukonczenia

Chciałby policzyć w oparciu o warunki:

  • jeżeli data_zwolnienia IS NULL
  • jeżeli konto_szkoleniowe = Y
  • jeżeli data_ukonczenia IS NULL

obliczyć jaki % pracowników posiadających konto_szkoleniowe nie ukończyło szkolenia.

Z góry serdecznie dziękuję za pomoc
Pozdrawiam

1

Nie mam pod ręką żadnej bazy, ale nie wystarczy jakieś:

select count(*)/(100*(select count(*) from pracownicy))
from osoby
where data_zwolnienia IS NULL and konto_szkoleniowe=Y and data_ukonczenia IS NULL
0

Niestety wynik to 0


zmieniłem 100 na 1.0 i mam wynik

SELECT COUNT()/(1.0(SELECT COUNT(*) FROM osoby))
FROM osoby
WHERE data_zwolnienia IS NULL AND konto_szkoleniowe=Y AND data_ukonczenia IS NULL

0.07086614173228

czyli jest 7,09% tylko jak to tak wyświetlić?

0

Mea culpa, jak ja procenty licze :p Ma być

(100.0*COUNT(*))/(1.0*(SELECT COUNT(*) FROM osoby))
0

DZIAŁA :-)

Dodałem jeszcze zaokrąglenie i usunięcie zer i zapytanie wygląda

SELECT CONVERT(decimal(10,2),Round((100.0COUNT()) /(1.0 * (SELECT COUNT(*) FROM osoby)),2))

Serdecznie dziękuję za pomoc
Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1