2011-04-29 11 views
0

각 판매 날짜와 시간을 보여주는 판매 테이블이 있습니다. 예를 들어범위 그룹 날짜의 COUNT 레코드

:

saleid | 유역 | 일식
1 | 20110327 | 101
2 | 20110327 | 102
3 | 20110328 |
이 그룹 날짜별로 판매 (각 행은 다른 날짜는) 다음
카운트 : 201

내가 하나의 SQL 것을 문을 구성 할 필요가

(그래서 판매 2 102 20110327에 발생) 시간별 판매 테이블이 같은 보일 것

(각 시간 범위는 별도의 컬럼 인 포함) :

saledate을 | 101-159 | 200-259 |
20110327 | 2 | 0 |
20110328 | 0 | 1 |

단일 명령문이어야하며 saledate와 saletime은 숫자 형식으로 유지되어야합니다.

내가 MS 액세스

어떤 조언을 크게 감사를 사용하고 (나는 몇 백만 행이 데이터베이스 테이블에서 끌어입니다).

정말 고마워요!

+0

필자는 MS 액세스에서이 답변에 도달하기에는 너무 멀었지만 힌트로 피벗 쿼리를 연구합니다. –

답변

0
SELECT saledate, 
SUM(IIF(saletime >= 101 and saletime <= 159), 1, 0) as [101To159) 
SUM(IIF(saletime >= 200 and saletime <= 259), 1, 0) as [200To259) 
FROM myTable 
GROUP BY saledate 

참고 :이 쿼리를 실행하지 않았습니다. 그러나 이것이 그 방법 일 수 있습니다.

+0

Partition() 함수의 용도는 무엇입니까? –

0
SELECT saledate, 
SUM(case when saletime between 101 and 159 then 1 else 0 end) as R101_159, 
SUM(case when saletime between 200 and 259 then 1 else 0 end) as R200_59 
FROM myTable 
GROUP BY saledate