SQL Server query-Selecting COUNT (*) with DISTINCT
W SQL Server 2005 mam tabelę cm_production, która zawiera listę całego kodu, który został wprowadzony do produkcji. Tabela zawiera ticket_number, program_type, nazwa_programu i push_number wraz z kilkoma innymi kolumnami.
Cel: policz wszystkie nazwy programów według typu programu i numeru push
To co mam do tej pory to:
SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
To sprawia, że część mnie tam, ale liczy wszystkie nazwy programów, a nie te odrębne (czego nie oczekuję, że to zrobi w tym zapytanie). Chyba po prostu nie mogę zawinąć głowy, jak powiedzieć mu, aby liczył tylko różne nazwy programów bez ich wybierania. Czy coś.
7 answers
Policz wszystkie nazwy poszczególnych programów według typu programu i numeru push
SELECT COUNT(DISTINCT program_name) AS Count,
program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
DISTINCT COUNT(*) zwróci wiersz dla każdego unikalnego count. What you want is COUNT (DISTINCT expression): oblicza wyrażenie dla każdego wiersza w grupie i zwraca liczbę unikalnych, nonnull wartości.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-05 18:26:03
Musiałem uzyskać liczbę wystąpień każdej odrębnej wartości. Kolumna zawierała informacje o regionie. Proste zapytanie SQL, z którym skończyłem, brzmiało:
SELECT Region, count(*)
FROM item
WHERE Region is not null
GROUP BY Region
Co dałoby mi listę jak, powiedzmy:
Region, count
Denmark, 4
Sweden, 1
USA, 10
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-31 16:17:41
Musisz utworzyć tabelę tymczasową dla poszczególnych kolumn, a następnie odpytywać liczbę z tej tabeli
SELECT COUNT(*)
FROM (SELECT DISTINCT column1,column2
FROM tablename
WHERE condition ) as dt
Tutaj DT jest tabelą temp
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-30 07:33:08
Spróbuj tego:
SELECT
COUNT(program_name) AS [Count],program_type AS [Type]
FROM (SELECT DISTINCT program_name,program_type
FROM cm_production
WHERE push_number=@push_number
) dt
GROUP BY program_type
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-05 18:25:26
SELECT COUNT(DISTINCT program_name) AS Count, program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-05 18:27:17
Jest to dobry przykład, w którym chcesz uzyskać liczbę kodu PIN przechowywanego w ostatnim polu adresu
SELECT DISTINCT
RIGHT (address, 6),
count(*) AS count
FROM
datafile
WHERE
address IS NOT NULL
GROUP BY
RIGHT (address, 6)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-01 08:27:44
select count (distinct NumTar),'PROPIAS'
from ATM_TRANe with (nolock)
where Fecha>='2014-01-01'
AND Fecha<='2015-05-31'and NetDestino=0
and SystemCodResp=0
group by NetDestino
union
select sum (contar),'FORANEAS'
from
(
select count(distinct NumTar) as contar
from ATM_TRANe with (nolock)
where Fecha>='2014-01-01'
AND Fecha<='2014-01-31'
and NetDestino!=0
and SystemCodResp=0
group by NetDestino
)dt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-02 17:24:29