sourcetip

DISTINCT를 사용하여 카운트(*)를 선택합니다.

fileupload 2023. 4. 8. 09:10
반응형

DISTINCT를 사용하여 카운트(*)를 선택합니다.

SQL Server 2005에는 테이블이 있습니다.cm_production실제 가동에 투입된 모든 코드가 나열됩니다.테이블에는ticket_number,program_type,program_name그리고.push_number다른 열과 함께 표시됩니다.

목표: 프로그램 유형 및 푸시 번호별로 모든 DISTINT 프로그램 이름을 카운트합니다.

지금까지 제가 아는 건

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

이렇게 하면 어느 정도 진행되지만, 개별 프로그램 이름이 아닌 모든 프로그램 이름이 계산됩니다(쿼리에서는 계산되지 않을 것으로 예상하지 못한 경우).프로그램을 선택하지 않고 개별 프로그램 이름만 세라고 하는 것은 도저히 이해할 수 없는 것 같습니다.뭐 그런 거.

프로그램 유형 및 푸시 번호별로 모든 DISTINT 프로그램 이름 카운트

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(*)는 각 고유 카운트에 대해 행을 반환합니다.원하는 것은 : 그룹 내 각 행에 대해 식을 평가하고 Null이 아닌 고유한 값의 수를 반환합니다.

각각의 개별 값의 발생 횟수를 구해야 했습니다.열에는 지역 정보가 포함되어 있습니다.간단한 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 column1,COUNT(*) AS Count
FROM tablename where createddate >= '2022-07-01'::date group by column1

이것은 주소의 마지막 필드에 저장되어 있는 핀코드 카운트를 취득하는 경우의 좋은 예입니다.

SELECT DISTINCT
    RIGHT (address, 6),
    count(*) AS count
FROM
    datafile
WHERE
    address IS NOT NULL
GROUP BY
    RIGHT (address, 6)

언급URL : https://stackoverflow.com/questions/1521605/selecting-count-with-distinct

반응형