|
SQL-запрос с оконными функциями
|
|||
---|---|---|---|
#18+
Добрый день, Я — новичок в T-SQL, прошу совета. Есть таблица примерно следующего содержания: IdNameTypeSumm1AX101AY201AZ302BY702BX103CY203CX403CZ40 Подскажите, пожалуйста, можно ли (если "да", то каким образом) в одном запросе получить из таблицы: все строки + дополнительный столбец, в котором строки будут ранжированы по ОБЩЕЙ сумме каждой строки из "Name"? Иначе говоря, получить на выходе следующую таблицу (т.к. общая сумма по CCC - 100,00; по BBB - 80,00; ААА - 60,00): IdNameTypeSummrnk1AX1011AY2011AZ3012BY7022BX1023CY2013CX4013CZ401 Т.е. получается, что ранжирование должно идти не просто по столбцу "Summ", а по Sum("Summ"). Заранее благодарю за оперативный и содержательный ответ. P.S. Версия - SQL server 2008r2 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 21:45 |
|
SQL-запрос с оконными функциями
|
|||
---|---|---|---|
#18+
Sviman144, что вы понимаете под словами " в одном запросе получить "? Обычно критерием "одного запроса" является "один рекордсет"/"действие над ним", что вполне может содержать кучу подзапросов, соединений и т.д. PS. И да... У вас точно табличка с rnk правильная? почему-то два ранга с "1" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 22:48 |
|
SQL-запрос с оконными функциями
|
|||
---|---|---|---|
#18+
godsql, 1. Да, виноват, в примере ошибся. Правильно: IdNameTypeSummrnk1AX1031AY2031AZ3032BY7022BX1023CY2013CX4013CZ401 2. Возможно, неправильно выразился. К таблице №1 (верхняя в первом сообщении), хочу добавить столбец так, чтобы результатом была таблица №2 (нижняя из первого сообщения). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 23:01 |
|
SQL-запрос с оконными функциями
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 23:03 |
|
SQL-запрос с оконными функциями
|
|||
---|---|---|---|
#18+
godsql, Спасибо. Не догадался саму к себе таблицу присоединить (думал "вложить" оконную в оконную, но так, оказывается, нельзя). Делал через два запроса: сначала добавлял столбец с общей суммой (промежуточным запросом), затем вторым запросом вычислял ранг. :) Вопрос решен. Тему можно считать закрытой. Еще раз, большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2020, 23:31 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1685490]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
7ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 100ms |
0 / 0 |