COUNT записывает в RANGE GROUP BY по дате - PullRequest
0 голосов
/ 29 апреля 2011

У меня есть таблица продаж, которая показывает дату и время каждой продажи.

Например:

saleid |саладате |время продажи
1 |20110327 |101
2 |20110327 |102
3 |20110328 |201

(Таким образом, продажа 2 произошла в 20110327 в 102)

Мне нужно создать один SQL-оператор, который:
Группирует продажи по дате (каждая строка - другая дата)затем
считает продажи для каждого временного диапазона.(Каждый интервал времени представляет собой отдельный столбец)

Таблица должна выглядеть примерно так:

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

Это должен быть один оператор, а время продажи и продажи должны оставаться в числовом формате.
(Я извлекаю из таблицы базы данных несколько миллионов строк)

Я использую MSДоступ

Любой совет с благодарностью.

Большое вам спасибо!

Ответы [ 2 ]

0 голосов
/ 07 июля 2014
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
0 голосов
/ 29 апреля 2011
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

Примечание. Я не запускал этот запрос.Однако так оно и могло быть.

...