
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.07.2009, 00:33
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
Есть таблица в базе. Полей много. Россия Архангельск 604 78182 Retro 10 26.03.1967 1 Россия Архангельск 604 78182 Taro 5 22.04.1997 2 Россия Архангельская 605 7818 Taro 20 31.03.1967 3 Россия Архангельская 605 7818 Yura 10 01.01.1967 4 Россия стационарные 721 781 Taro 30 30.05.2007 5 Россия стационарные 721 781 Tina 20 03.02.1900 6 Россия Архангельск 604 78182 Tina 2 01.10.2006 7 Необходим запрос SQL, оставляющий строки с уникальной записью из 4-ой колонки и МАКСимальным значеним из третей, т.е. в указанном случае: Россия Архангельск 604 78182 Retro 10 26.03.1967 1 Россия Архангельск 604 78182 Taro 5 22.04.1997 2 Россия Архангельская 605 7818 Yura 10 01.01.1967 4 Россия Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 00:37
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
Точнее так... Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Taro 20 31.03.1967 3 Архангельская 605 7818 Yura 10 01.01.1967 4 Стационарные 721 781 Taro 30 30.05.2007 5 Стационарные 721 781 Tina 20 03.02.1900 6 Архангельск 604 78182 Tina 2 01.10.2006 7 Результат запроса: Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Yura 10 01.01.1967 4 Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 00:38
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
ЕЩЕ ТОЧНЕЕ.... Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Taro 20 31.03.1967 3 Архангельская 605 7818 Yura 10 01.01.1967 4 Стационарные 721 781 Taro 30 30.05.2007 5 Стационарные 721 781 Tina 20 03.02.1900 6 Архангельск 604 78182 Tina 2 01.10.2006 7 Результат запроса: Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Yura 10 01.01.1967 4 Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 09:17
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
Ключевые слова -MAX, GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 09:25
|
|||
|---|---|---|---|
Помогите с запросом начинающему |
|||
|
#18+
goldfuzzЕЩЕ ТОЧНЕЕ.... Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Taro 20 31.03.1967 3 Архангельская 605 7818 Yura 10 01.01.1967 4 Стационарные 721 781 Taro 30 30.05.2007 5 Стационарные 721 781 Tina 20 03.02.1900 6 Архангельск 604 78182 Tina 2 01.10.2006 7 Результат запроса: Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Yura 10 01.01.1967 4 Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий А еще точнее? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 10:19
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
SergueigoldfuzzЕЩЕ ТОЧНЕЕ.... Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Taro 20 31.03.1967 3 Архангельская 605 7818 Yura 10 01.01.1967 4 Стационарные 721 781 Taro 30 30.05.2007 5 Стационарные 721 781 Tina 20 03.02.1900 6 Архангельск 604 78182 Tina 2 01.10.2006 7 Результат запроса: Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Yura 10 01.01.1967 4 Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий А еще точнее? ;-) А какой столбец 4-ый? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 11:09
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
CrazyAdminSergueigoldfuzzЕЩЕ ТОЧНЕЕ.... Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Taro 20 31.03.1967 3 Архангельская 605 7818 Yura 10 01.01.1967 4 Стационарные 721 781 Taro 30 30.05.2007 5 Стационарные 721 781 Tina 20 03.02.1900 6 Архангельск 604 78182 Tina 2 01.10.2006 7 Результат запроса: Архангельск 604 78182 Retro 10 26.03.1967 1 Архангельск 604 78182 Taro 5 22.04.1997 2 Архангельская 605 7818 Yura 10 01.01.1967 4 Архангельск 604 78182 Tina 2 01.10.2006 7 Спасибо. Юрий А еще точнее? ;-) А какой столбец 4-ый? Тот, который за третьим ) Первый - Архангельск Второй - 604 Третий - 78182 , отмеченный красным Четвертй - Retro.. Вариант с group by для четвертого поля и Max для третьего подходил бы в случае, если бы нужно было выбрать только именно их, а всего полей - больше 20. ЧТо делать, как группировать остальные. First, last, avg и пр не подходят.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 16:29
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
предлагаю следующий изврат: select r.* from Ваша_таблица r where r.c3||r.c4 in ( select max(c3)||t.c4 from Ваша_таблица t group by c4 ) т.е. идентифицировать строчки через "склейку" значений третьего и четвёртого столбца. Правда, такой способ мне представляется довольно медленным и не гарантирует для каждой "склейки" вернуть одну строку. Другими словами, если найденное максимальное значение встречается в двух строках, то такой запрос вернёт эти две строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 16:37
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
вот решение красивее (по моему мнению, конечно): select r.* from Ваша_таблица r where r.c3= ( select max(c3) from Ваша_таблица t where t.c4=r.c4 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2009, 18:41
|
|||
|---|---|---|---|
Помогите с запросом начинающему |
|||
|
#18+
vinger4, ну и до кучи (модификация первого без конката, модификация второго с заменой корреляции на джойн - может быть быстрее) Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2009, 00:56
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
Спасибо, пробую... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2009, 02:20
|
|||
|---|---|---|---|
Помогите с запросом начинающему |
|||
|
#18+
goldfuzz, С такими вопросами Вам бытрее помогут в профильной ветке по используемой СУБД. Например, в MSSQL поможет, думаю, TOP n WITH TIES ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2009, 11:16
|
|||
|---|---|---|---|
|
|||
Помогите с запросом начинающему |
|||
|
#18+
vinger4идентифицировать строчки через "склейку" значений третьего и четвёртого столбца Ошибка. Вы явно полагаетесь на формат данных в полях. Сравните 99 111 и 991 11. vinger4если найденное максимальное значение встречается в двух строках, то такой запрос вернёт эти две строки По-моему, ТС-а это не особно волнует, судя по корявой формулировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1543158]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
36ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 397ms |

| 0 / 0 |
