Как правильно построить запрос?

  • Автор темы jcolor
  • Дата начала
J

jcolor

Гость
#1
Всем, привет!!!
Подскажте, как правильно построить следующий запрос:
Есть таблица , в которой следующие поля

OpenDate - дата запроса
IdUser - id пользоваетеля
OpenFile - название открываемого файла

Как красиво построить запрос, чтобы в результате получить таблицу:
-дата
-кол-во уникальных пользователей за эту дату
-общее кол-во открываемых файлов

Я написала процедуру с двумя временными таблицами:
первая - дата, кол-во файлов
вторая - дата, кол-во уникальных пользователей
затем их просто объединила

Можно ли как-то по другому это все сделать???
 
04.09.2006
2 566
2
#2
<!--QuoteBegin-jcolor+11:05:2007, 16:13 -->
<span class="vbquote">(jcolor @ 11:05:2007, 16:13 )</span><!--QuoteEBegin-->Можно ли как-то по другому это все сделать???
[snapback]65634" rel="nofollow" target="_blank[/snapback]​
[/quote]
Поискать по форуму "GROUP BY"
 
J

jcolor

Гость
#3
<!--QuoteBegin-European+11:05:2007, 16:18 -->
<span class="vbquote">(European @ 11:05:2007, 16:18 )</span><!--QuoteEBegin-->Поискать по форуму "GROUP BY"
[snapback]65636" rel="nofollow" target="_blank[/snapback]​
[/quote]


Если с помощью GROUP BY
то получается следующее:

Код:
SELECT OpenDate, IdUser, OpenFile , COUNT(*) FROM Table
GROUP BY OpenDate, IdUser, OpenFile
В таком случае определяется только кол-во открываемых файлов,
а надо еще добавить колонку уникальных пользователей за день
 
J

jcolor

Гость
#4
<!--QuoteBegin-European+11:05:2007, 16:18 -->
<span class="vbquote">(European @ 11:05:2007, 16:18 )</span><!--QuoteEBegin-->Поискать по форуму "GROUP BY"
[snapback]65636" rel="nofollow" target="_blank[/snapback]​
[/quote]

СПАСИБО!!!!
Нашла ,
действительно с помощью этого можно построить данный запрос

<!--QuoteBegin-sax_ol+11:05:2007, 16:38 -->
<span class="vbquote">(sax_ol @ 11:05:2007, 16:38 )</span><!--QuoteEBegin-->можно конечно и так:
select OpenDate, count(distinct IdUser) as Users, (select count(*) from dbo.Table1) as _all from Table
group by OpenDate
но несколько "некрасиво"
[snapback]65644" rel="nofollow" target="_blank[/snapback]​
[/quote]


Получается следующий запрос:
Код:
SELECT OpenDate, COUNT(DISTINCT IdUser), COUNT(OpenFile) FROM Table
GROUP BY OpenDate