Mam tabelę raportów, które zawierają pola Case
(unikalny numer), ISR
(indywidualny raport bezpieczeństwa - unikalny numer) i YearsOld
.LICZENIE DISTINCT w SELECT CASE SQL
Dla każdego przypadku może być więcej niż jeden kod ISR. Chcę policzyć liczbę unikalnych przypadków w grupach wiekowych.
Ten SQL daje mi zliczania liczby reakcji w miejscu wstrzyknięcia:
SELECT
COUNT(CASE WHEN `YearsOld` = -2) THEN 1 END) `No Report`,
COUNT(CASE WHEN `YearsOld` BETWEEN 0 AND 5) THEN 1 END) `0 to 5`
COUNT(CASE WHEN `YearsOld` BETWEEN 6 AND 12) THEN 1 END) `6 to 12`
FROM `Demographics`
czy istnieje sposób zmodyfikować ten policzyć DISTINCT Cases
dla tych grup wiekowych?
zawsze istnieje możliwość, ale co jeśli sprawa obejmuje osobę w wieku 5-6 lat. Czy chcesz, aby liczba była w zakresie, w którym sprawa się rozpoczęła, lub przypadek, w którym dana osoba jest powiązana z ostatnią aktywnością. – DRapp
Czy 'Case' może mieć różne lata' YearsOld' dla różnych 'ISR'? – eggyal
Tak. ISR jest indywidualnym raportem bezpieczeństwa dotyczącym niepożądanej reakcji na lek. Może wystąpić więcej niż jeden ISR w przypadku określonego incydentu (zgłoszonego przez dwóch lub więcej dziennikarzy) i może istnieć więcej niż jeden ISR w tym samym Przypadku zdarzeń niepożądanych, które spotkały go w różnych datach. Idealnie, Case + DateOfEvent + YearsOld będą używane do zliczania dokładnej liczby Niekorzystnych zdarzeń, które miały miejsce w Przypadku w danym wieku, ale Data wydarzenia jest często pomijana w raportach, więc Case + YearsOld jest tak blisko, jak tylko mogę dostać zliczać unikalne Case + AdverseEvents. Twoje rozwiązanie poniżej działa świetnie. –