SQL Server 쿼리-DISTINCT를 사용하여 COUNT (*) 선택
SQL Server 2005에는 프로덕션에 넣은 모든 코드를 나열하는 cm_production 테이블이 있습니다. 테이블에는 ticket_number, program_type 및 program_name 및 push_number가 다른 열과 함께 있습니다.
목표 : 모든 DISTINCT 프로그램 이름을 프로그램 유형 및 푸시 번호로 계산
내가 지금까지 가지고있는 것은 :
DECLARE @push_number INT;
SET @push_number = [HERE_ADD_NUMBER];
SELECT DISTINCT COUNT(*) AS Count, program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
이것은 저를 거기에 데려다 주지만 별개의 이름이 아닌 모든 프로그램 이름을 세고 있습니다 (이 쿼리에서는 그렇게하지 않을 것입니다). 별개의 프로그램 이름을 선택하지 않고 계산하는 방법을 내 머리에 감쌀 수는 없습니다. 또는 뭔가.
모든 DISTINCT 프로그램 이름을 프로그램 유형 및 푸시 번호로 계산
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(*)
각 고유 카운트에 대한 행을 반환합니다. 원하는 것은 COUNT(DISTINCT <expression>)
: 그룹의 각 행에 대한 표현식을 평가하고 널이 아닌 고유 한 값의 수를 리턴합니다.
각 고유 값의 발생 횟수를 가져와야했습니다. 열에 지역 정보가 포함되었습니다. 내가 끝내었던 간단한 SQL 쿼리는 다음과 같습니다.
SELECT Region, count(*)
FROM item
WHERE Region is not null
GROUP BY Region
나에게 다음과 같은 목록을 줄 것입니다.
Region, count
Denmark, 4
Sweden, 1
USA, 10
고유 한 열에 대한 파생 테이블을 만든 다음 해당 테이블에서 개수를 쿼리해야합니다.
SELECT COUNT(*)
FROM (SELECT DISTINCT column1,column2
FROM tablename
WHERE condition ) as dt
다음 dt
은 파생 테이블입니다.
SELECT COUNT(DISTINCT program_name) AS Count, program_type AS [Type]
FROM cm_production
WHERE push_number=@push_number
GROUP BY program_type
이 시도:
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
이것은 마지막 주소 필드에 저장된 핀 코드 수를 얻으려는 좋은 예입니다.
SELECT DISTINCT
RIGHT (address, 6),
count(*) AS count
FROM
datafile
WHERE
address IS NOT NULL
GROUP BY
RIGHT (address, 6)
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
참고 URL : https://stackoverflow.com/questions/1521605/sql-server-query-selecting-count-with-distinct
'Programming' 카테고리의 다른 글
자바 스크립트는 날짜에 선행 0을 추가합니다 (0) | 2020.02.23 |
---|---|
Java에서 (a * b! = 0)이 (a! = 0 && b! = 0)보다 빠른 이유는 무엇입니까? (0) | 2020.02.23 |
PowerShell에서 함수에 여러 매개 변수를 전달하는 방법은 무엇입니까? (0) | 2020.02.22 |
PHP에서 주어진 키의 값으로 연관 배열의 배열을 정렬하는 방법은 무엇입니까? (0) | 2020.02.22 |
PostgreSQL에서 제목이있는 테이블을 CSV로 내보내는 방법은 무엇입니까? (0) | 2020.02.22 |