Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Есть таблица Statistics, в ней есть поля Id, UserId, Date, EmailSize, EmailCount и т.д.. Как выбрать айдишники первых 10 пользователей у которых, например, максимальный EmailSize за две недели? |
22 авг 17, 19:59 [20742398] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
Освоить group by и order by. |
22 авг 17, 20:04 [20742401] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич,![]() Так? |
22 авг 17, 20:08 [20742404] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
Не так. Перерисовывать на картинке как не буду. |
22 авг 17, 20:09 [20742406] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич, там должны айдишники пользователей быть уникальными, но там повторы |
22 авг 17, 20:11 [20742408] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
|
||
22 авг 17, 20:12 [20742409] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич,![]() Как это делается? |
22 авг 17, 20:16 [20742417] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
Зачем вы постите одну и ту же картинку? Зачем вы вообще постите картинки? Вы не умеете пользоваться сочетанием клавиш Ctrl+C/Ctrl+V? |
22 авг 17, 20:18 [20742419] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич, там разные запросы |
22 авг 17, 20:18 [20742421] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
|
||
22 авг 17, 20:19 [20742424] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич, как это сделать можно написать? я в душе не представляю как это делается. от sql сервера как и от прочих продуктов M$ мне уже тошнит |
22 авг 17, 20:24 [20742433] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37146 |
Сообщение было отредактировано: 22 авг 17, 20:33 |
||||
22 авг 17, 20:26 [20742437] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич, я не знаю как написать что айдишник должен быть уникальным |
22 авг 17, 20:34 [20742444] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
Гавриленко Сергей Алексеевич, ![]() |
22 авг 17, 20:41 [20742455] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
select top(10) * from ( select *, n = row_number() over( partition by UserId order by EmailSize desc) from Statistics ) as x where n = 1 order by EmailSize |
22 авг 17, 20:44 [20742461] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
select top(10) * from ( select *, n = row_number() over( partition by UserId order by EmailSize desc) from Statistics where Date > dateadd( day, -2*7, getdate() ) ) ) as x where n = 1 order by EmailSize Пардон... две недели забыл. |
22 авг 17, 20:48 [20742465] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Но можно тряхнуть стариной - коррелированный запросselect top(10) * from ( select * from Statistics where Date > dateadd( day, -2*7, getdate() ) ) as x where EmailSize = ( select max(EmailSize) from Statistics where Date > dateadd( day, -2*7, getdate() ) and UserID = x.UserID ) order by EmailSize |
22 авг 17, 20:52 [20742471] Ответить | Цитировать Сообщить модератору |
Аккаунт чтобы задать вопрос Member Откуда: Сообщений: 12 |
aleks222, а то что я методом тыка сделал не годится? |
22 авг 17, 20:54 [20742473] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |