Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
Всем привет, возникли следующие вопросы по запросам к базе данных. Перерыл интернет, лаконичных решений не нашел, надеюсь на вашу помощь. Есть таблица данных T1 следующего вида: Номер | Машина | Модель 1 | Тойота | Камри 2 | Лексус | RX330 3 | Тойота | Королла 4 | Ниссан | Патрол 5 | Ниссан | Кашкай В результате запроса нужно получить таблицу в которой только первые значения по столбцу Машина, повторы не выводить. Получить нужно такую таблица T2: Номер | Машина | Модель 1 | Тойота | Камри 2 | Лексус | RX330 4 | Ниссан | Патрол Я пробовал через DISTINCT и GROUP BY, но это работает только если вывожу один столбец Машина, если беру все столбцы таблицы, не работает. В сети находил решения, но все они трехэтажные, неужели нет простого решения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 05:56 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalmВсем привет, возникли следующие вопросы по запросам к базе данных. Перерыл интернет, лаконичных решений не нашел, надеюсь на вашу помощь. Есть таблица данных T1 следующего вида: Номер | Машина | Модель 1 | Тойота | Камри 2 | Лексус | RX330 3 | Тойота | Королла 4 | Ниссан | Патрол 5 | Ниссан | Кашкай В результате запроса нужно получить таблицу в которой только первые значения по столбцу Машина, повторы не выводить. Получить нужно такую таблица T2: Номер | Машина | Модель 1 | Тойота | Камри 2 | Лексус | RX330 4 | Ниссан | Патрол Я пробовал через DISTINCT и GROUP BY, но это работает только если вывожу один столбец Машина, если беру все столбцы таблицы, не работает. В сети находил решения, но все они трехэтажные, неужели нет простого решения? двухэтажное с row_number() одноэтажное с row_number () и top 1 with ties Только вот зря вы эффективность решения по этажности оцениваете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 06:11 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 06:29 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalm, TOP 1 WITH TIES с сортировкой по ROW_NUMBER() OVER(partition by Машина order by Номер) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 06:56 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:35 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь, но, как я понимаю, все предложенное выше использует колонку Номер. А если такой колонки нет? Машина | Модель Тойота | Камри Лексус | RX330 Тойота | Королла Ниссан | Патрол Ниссан | Кашкай Как получить такой результат в этом случае? Машина | Модель Тойота | Камри Лексус | RX330 Ниссан | Патрол PS Н-да, для элементарной вещи нет стандартной функции. Теперь боюсь даже спрашивать про аналог функции ВПР из екселя, там наверно 3 страницы кода будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:39 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalmА если такой колонки нет? Как получить такой результат в этом случае?А вот в этом случае, от вас потребуется объяснение почему, например, для Тойота нужно оставить именно Камри, а не Королла ? пс сразу предупреждаю, ответ "потому что она первая" не канает :) Эт тебе не Эксель ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:44 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalmСпасибо за помощь, но, как я понимаю, все предложенное выше использует колонку Номер. А если такой колонки нет? Машина | Модель Тойота | Камри Лексус | RX330 Тойота | Королла Ниссан | Патрол Ниссан | Кашкай Как получить такой результат в этом случае? Машина | Модель Тойота | Камри Лексус | RX330 Ниссан | Патрол PS Н-да, для элементарной вещи нет стандартной функции. Теперь боюсь даже спрашивать про аналог функции ВПР из екселя, там наверно 3 страницы кода будет. Код: sql 1. 2. А вообще, включите мозг. Достаточно понять, зачем в OVER() должен быть ORDER BY. И не надо рыть Интернет - всё это есть на этом форуме. Было сто раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 10:44 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalmтолько первые значения по столбцу МашинаПонятие "первый" существует лишь после того, как указана сортировка по выражению, согласно которому записи уникальны: courtпс сразу предупреждаю, ответ "потому что она первая" не канает :) Эт тебе не Эксель ... Какая же используется сортировка в показанном примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 11:18 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
PS. Я нашёл возможную сортировку - ORDER BY [Машина],SUBSTRING([Модель],3,1) . Но интуиция подсказывает, что на деле всё не так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 11:20 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalmКак получить такой результат в этом случае? — Скажите, пожалуйста, куда мне отсюда идти? — А куда ты хочешь попасть? — ответил Кот. — Мне все равно... — сказала Алиса. — Тогда все равно, куда и идти, — заметил Кот. — ...только бы попасть куда-нибудь, — пояснила Алиса. — Куда-нибудь ты обязательно попадешь, — сказал Кот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 12:50 |
|
||
|
Запрос, убирающий повторы строк по значениям в одном стобце.
|
|||
|---|---|---|---|
|
#18+
AlexCalm, Вот это - трёхэтажный вариант или сойдёт? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.09.2018, 21:00 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39706032&tid=1689066]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 427ms |

| 0 / 0 |
