2016-07-09 2 views
0

У меня есть база продаж, и я хочу видеть, что продавалось за определенный период времени за год, то есть увидеть, что продавалось больше всего за последние 10 лет с 1 июля и 15 июля. Проблема в том, что не все предметы были проданы каждый год, и мне нужно иметь возможность получить среднее количество проданных. Я мог рассчитывать годы в MySQL, но после перехода на Access я не могу понять, как считать отличным, все еще группируя отдельные продукты.Подсчет различий при группировании в MS Access 2010

Соответствующие поля StockID (уникальный идентификатор элементов) и TransDate (дата и время, из которых я вытягиваю год) Я пробовал вещи, похожие на SELECT Count(*) FROM (SELECT DISTINCT YEAR(Transdate) from Sales) внутри моего другого запроса, но это всегда дает мне счет из всех элементов (в основном, давая количество лет в базе данных), а не количество для каждого элемента.

TL; DR Я могу либо считать отличным от всей БД, которая бесполезна или группируется по StockID, не считая отличных, что является менее бесполезным.

ответ

1

Кажется, вы ищете выбрать с группой по ..

select StockID, count(*) 
from (select distinct stockID, Year(Transdate) from my_table) 
group StockID 
+0

близко, но я хочу иметь только одну строки за StockID с отсчетом лет этот пункт был продан. Это дает мне строку для каждого года для каждого StockID. –

+0

Отлично, отлично работает. Теперь мне просто нужно выяснить, как добавить его в мой другой запрос! Благодаря! –

Смежные вопросы