Я вынимаю два столбца из таблицы, чтобы возвращать определенные строки, которые имеют даты для текущей даты, но только текущую дату. Например, скажем, у карандашей есть даты 1/22/2014 и 2/22/2014. Я не хочу, чтобы это отображалось, потому что оно имеет две строки с уникальными датами. Тем не менее, у меня возникли проблемы с подсчетом количества уникальных строк после использования счетчика (*)> 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
Насколько я могу судить, это должно сработать, не так ли? Я предполагаю, что проблема заключается в счете (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