테이블의 다른 필드에서 1에서 100까지의 빈도를 계산하려고합니다.T-SQL의 항목 빈도 계산 문제가 발생했습니다.
의 나는 다음과 같은 데이터 테이블 "결과"가 있다고 가정 해 봅시다 :
LottoId Winner Second Third
--------- --------- --------- ---------
1 1 2 3
2 1 2 3
나는 숫자에 따라 주파수를 얻을 수 있도록하고 싶습니다. 이를 위해 다음 코드를 사용하고 있습니다 :
--Creating numbers temp table
CREATE TABLE #Numbers(
Number int)
--Inserting the numbers into the temp table
declare @counter int
set @counter = 0
while @counter < 100
begin
set @counter = @counter + 1
INSERT INTO #Numbers(Number) VALUES(@counter)
end
--
SELECT #Numbers.Number, Count(Results.Winner) as Winner,Count(Results.Second) as Second, Count(Results.Third) as Third FROM #Numbers
LEFT JOIN Results ON
#Numbers.Number = Results.Winner OR #Numbers.Number = Results.Second OR #Numbers.Number = Results.Third
GROUP BY #Numbers.Number
문제는 카운트 각 번호에 대해 동일한 값을 반복하는 것입니다. 나는이를 받아야하는 경우
Number Winner Second Third
--------- --------- --------- ---------
1 2 2 2
2 2 2 2
3 2 2 2
...
:
Number Winner Second Third
--------- --------- --------- ---------
1 2 0 0
2 0 2 0
3 0 0 2
...
내가 무엇을 놓치고이 특별한 경우에는 내가 다음과 같은 결과를 받고 있어요?
어떤 버전의 SQL Server/Sybase입니까? – Thomas
Microsoft SQL Server 2008 –