|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
Здравствуйте, очень нужна помощь с подробным описанием, как сделать ранг по нескольким группам в таблице. Есть таблица: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Нужно получить в итоге порядковый номер (по убыванию даты) рейса собаки, чтоб получить вот такой итог (приложен в файле) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2016, 17:35 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
Смотрим на строки с id 2 и 3. Почему у них "ранг" 2 и 3, а не 3 и 2? Аналогичный вопрос про id 7, 8 и 9... В один запрос вопросы транспонирования не решаются. Сделай вторую таблицу с полем "ранг", скопируй туда строки из первой таблицы и установи для всех строк поле ранг=0. А потом просто в цикле... Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2016, 18:03 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
White Owl, Спасибо за замечание, изменил фото. Спасибо за решение, но у меня вопрос, если моя таблица будет включать в себя 4 000 000 строк, и там рангов может быть более 100 по каждой из групп. Как это может повлиять на быстродействие? И коректно использовать ваш способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 00:10 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
armak, Как вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 05:50 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
White OwlВ один запрос вопросы транспонирования не решаются.если не секрет, где ты в постановке задачи ТС увидел транспонирование? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 05:52 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
Добрый Э - Эх, Скажите, а таблица t2 - это дублированная таблица t1? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 07:59 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
armak, это - не дублированная таблица. это - та же самая таблица. если что, в запросе к таблице, как источнику данных, можно обращаться более одного раза, просто нужно для каждого обращения задать свой алиас (псевдоним). никаких дубликатов таблиц в базе в этом случае создавать не нужно. при выполнении же запроса сервер дважды будет обращаться к одной и той же таблице. в данном случае - t2 как раз и есть алиас на таблицу t1, что видно из синтаксиса запрос: from t1 t2 (дословно: из t1, присвоив ей имя t2) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 08:10 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
Добрый Э - Эх, Спасибо огромное за помощь, всё теперь работает, как часы! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 10:19 |
|
Показать ранг в группе
|
|||
---|---|---|---|
#18+
Добрый Э - ЭхWhite OwlВ один запрос вопросы транспонирования не решаются.если не секрет, где ты в постановке задачи ТС увидел транспонирование?ээээ.... не знаю :) Хотя нет, знаю. Подобная задача является промежуточным звеном для транспонирования, вот меня и потянуло дальше. И да, твое решение лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 17:43 |
|
|
start [/forum/topic.php?fid=54&msg=39248558&tid=2008594]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 154ms |
0 / 0 |