현재 날짜의 날짜가 있지만 현재 날짜 만있는 특정 행을 반환하기 위해 테이블에서 두 개의 열을 가져옵니다. 예를 들어 연필에 2014 년 1 월 22 일 및 2014 년 2 월 22 일 날짜가 있다고 가정 해 보겠습니다. 고유 한 날짜가있는 두 행이 있기 때문에 표시하지 않으려합니다. 그러나 고유 한 행을 얻기 위해 count (*)> 1을 사용하여 고유 한 행의 수를 계산하는 데 문제가 있습니다. 나는 항목을 세어보고 그것을 시도했는데 하나의 행 (한 행만있는 경우 표시됨)은 '작동'되었지만 작동하지 않는 다른 값은 확인했습니다.고유 한 행을 계산 한 후 고유 한 값을 계산합니까?
use db
select todate, item
from table
group by todate, item
having count(*)>1
and cast(todate as date) = '2015-1-17'
and count(item)=1
order by item
제가 말할 수있는 한, 작동해야합니까, 그렇지 않아야합니까? 내 생각 엔 문제는 개수 (항목)에 있으며 고유 한 행 대신 모든 고유하지 않은 행이 계산되지만 문제를 해결하는 방법을 모르겠습니다. 어쨌든 고유 한 행만 계산합니까? 그 단 하나의 고유 한 일이 있기 때문에이 테이블을 감안할 때
,todate item
2015-01-17 pencil
2015-01-17 pencil
2014-02-22 pencil
2015-01-17 pen
2015-01-17 pen
2015-01-17 eraser
다음은
todate item
2015-01-17 pen
2015-01-17 eraser
를 반환해야합니다. 연필은 고유 한 날짜가 하나 이상이므로 연필을 반환하지 않습니다.
샘플 데이터와 원하는 출력을 제공하십시오. – RedFilter