我從表格中拉出兩列以返回具有當前日期日期但僅包含當前日期的特定行。例如,說鉛筆的日期是1/22/2014和2/22/2014。我不希望顯示它,因爲它有兩行具有唯一日期。但是,在使用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
據我所知,這應該工作,不是嗎?我的猜測是問題出在count(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