Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос - количество уникальных записей по периодам...  [new]
xdx
Member

Откуда:
Сообщений: 395

user date
-------------------
| ivan | 05.11.2009 09:15:16
| vasya | 05.11.2009 09:15:17
| vasya | 05.11.2009 09:15:17
| vasya | 05.11.2009 09:15:00
| vasya | 05.11.2009 09:16:00
| vasya | 05.11.2009 09:17:00
| vasya | 05.11.2009 09:20:00
| ivan | 05.11.2009 09:21:00
| ivan | 05.11.2009 10:22:00
-------------------

Есть некоторые данные. Например, имя(user) и время (date).
Как можно подсчитать кол-во уникальных записей по периодам, т.е. ну вот в данном случае сколько было уникальных записей каждый час. Должно получиться что-то типа этого:


cnt hour
-------------------
| 2 | 9
| 1 | 10

т.е. с 9-ти часов было 2 уникальных записи, а с 10-ти всего одна запись.
6 ноя 09, 13:04    [7891288]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
group by + hour / datepart + count( distinct ... )
6 ноя 09, 13:07    [7891323]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
select count(distinct [user]) as cnt
      ,convert(char(13), [date], 121) as [hour]
  from [некоторые данные]
 group by convert(char(13), [date], 121)
ЗЫ не проверял
6 ноя 09, 13:09    [7891337]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
xdx

user date
-------------------
| ivan | 05.11.2009 09:15:16
| vasya | 05.11.2009 09:15:17
| vasya | 05.11.2009 09:15:17
| vasya | 05.11.2009 09:15:00
| vasya | 05.11.2009 09:16:00
| vasya | 05.11.2009 09:17:00
| vasya | 05.11.2009 09:20:00
| ivan | 05.11.2009 09:21:00
| ivan | 05.11.2009 10:22:00
-------------------

Есть некоторые данные. Например, имя(user) и время (date).
Как можно подсчитать кол-во уникальных записей по периодам, т.е. ну вот в данном случае сколько было уникальных записей каждый час. Должно получиться что-то типа этого:


cnt hour
-------------------
| 2 | 9
| 1 | 10

т.е. с 9-ти часов было 2 уникальных записи, а с 10-ти всего одна запись.
А я посчитал количество уникальных записей - получилось 7
6 ноя 09, 13:11    [7891347]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
iap
А я посчитал количество уникальных записей - получилось 7
Я имею в виду с 9-ти часов
6 ноя 09, 13:12    [7891363]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
у него уникальность - это USER
6 ноя 09, 13:12    [7891369]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Konst_One
у него уникальность - это USER
Через астрал выяснили?
6 ноя 09, 13:15    [7891398]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
iap
Konst_One
у него уникальность - это USER
Через астрал выяснили?


почти =)
6 ноя 09, 13:17    [7891426]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Слова "кол-во уникальных записей" можно трактовать только абсолютно однозначно.
И это не "кол-во уникальных значений user"
6 ноя 09, 13:18    [7891428]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Konst_One
Member

Откуда:
Сообщений: 11514
iap
Слова "кол-во уникальных записей" можно трактовать только абсолютно однозначно.
И это не "кол-во уникальных значений user"


это верно , но ТС видимо об этом не догадывается.

а на основании его приведенного результата и учитывая , чтот ivan и vasya в 9 было 2 , а в 10 только ivan =)
6 ноя 09, 13:20    [7891448]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
xdx
Member

Откуда:
Сообщений: 395
iap
Konst_One
у него уникальность - это USER
Через астрал выяснили?


Да, Вы, угадали! :-)
Т.е. если сформулировать запрос словами на примере этих данных, то нужно вывести:
сколько было уникальных пользователей с разбивкой по часам.
Т.е. мне не надо кто именно и во сколько.

Т.е. если разбить на два запроса, то будет что-то типа этого:

SELECT DISTINCT [USER], datepart(hh, date) as h FROM MYTABLE


SELECT h, count(*) FROM {результат первого запроса}
GROUP BY h

Что-то не соображу как их соединить в одном запросе...
6 ноя 09, 13:24    [7891488]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
Glory
Member

Откуда:
Сообщений: 104760
xdx
iap
Konst_One
у него уникальность - это USER
Через астрал выяснили?


Да, Вы, угадали! :-)
Т.е. если сформулировать запрос словами на примере этих данных, то нужно вывести:
сколько было уникальных пользователей с разбивкой по часам.
Т.е. мне не надо кто именно и во сколько.

Т.е. если разбить на два запроса, то будет что-то типа этого:

SELECT DISTINCT [USER], datepart(hh, date) as h FROM MYTABLE


SELECT h, count(*) FROM {результат первого запроса}
GROUP BY h

Что-то не соображу как их соединить в одном запросе...

Уже показали, как это сделать
6 ноя 09, 13:26    [7891506]     Ответить | Цитировать Сообщить модератору
 Re: Запрос - количество уникальных записей по периодам...  [new]
xdx
Member

Откуда:
Сообщений: 395
Паганель
select count(distinct [user]) as cnt
      ,convert(char(13), [date], 121) as [hour]
  from [некоторые данные]
 group by convert(char(13), [date], 121)
ЗЫ не проверял


Работает! Супер!
Спасибо!

P/S
хм... странная какая-то конструкция запроса :-)
6 ноя 09, 13:32    [7891560]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить