|
|
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
Добрый день Возможно дичь, подскажите возможно ли это есть таблица: Код: sql 1. id group weight1 1 02 2 103 2 204 4 35 4 16 4 2 при группировке по group логично получаю следующее: Код: sql 1. id group weight1 1 02 2 104 4 3 так вот вопрос: можно ли как то повлиять на то какая именно запись попадет в выдачу при группировке? например, мне нужно чтобы попадала запись с минимальным значением weight, т.е. третьей строкой в результате была запись с ид 5, чтобы результат выглядел так: id group weight1 1 02 2 105 4 1 ордер бай тут не помогает, при Код: sql 1. получаю ровно тот же результат что и без ордер бай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2018, 16:03 |
|
||
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
есть такое решение Код: sql 1. 2. 3. 4. 5. 6. т.е. строится вспомогательная таблица с нужными мне парами группа-вес и дальше эти пары используются как фильтр для результата вот только подозреваю что это сильно по производительности запросов бить будет при большой таблице, ведь да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2018, 17:48 |
|
||
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
Про функции min,max Вы, конечно, не слышали... Да и про having ничего не знаете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2018, 19:07 |
|
||
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
neigenoirнужно чтобы попадала запись с минимальным значением weight, т.е. третьей строкой в результате была запись с ид 5Про это целый FAQ есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2018, 19:14 |
|
||
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
miksoft , большое спасибо. изучил. из представленных решений мне больше всего подошел с1, который по сути тот же самый что приведен выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2018, 00:38 |
|
||
|
Возможно ли повлиять на то какая строчка попадает в результат при GROUP BY?
|
|||
|---|---|---|---|
|
#18+
neigenoirДобрый день Возможно дичь, подскажите возможно ли это есть таблица: Код: sql 1. id group weight1 1 02 2 103 2 204 4 35 4 16 4 2 при группировке по group логично получаю следующее: Код: sql 1. id group weight1 1 02 2 104 4 3 так вот вопрос: можно ли как то повлиять на то какая именно запись попадет в выдачу при группировке? например, мне нужно чтобы попадала запись с минимальным значением weight, т.е. третьей строкой в результате была запись с ид 5, чтобы результат выглядел так: id group weight1 1 02 2 105 4 1 ордер бай тут не помогает, при Код: sql 1. получаю ровно тот же результат что и без ордер бай Ты пишешь нелепые, бессмысленные и неправильные запросы (которые тебе по воле судьбы MySQL к сожалению позволяет выполнять), и ещё хочешь, чтобы они работали и как-то логично работали? Вот простые правила, которые помогут тебе. группировка без агрегирующих функций не используется никогда. Все поля в списке вывода запроса и фразе ORDER BY, которые не находятся под агрегирующими фукнциями, должны быть указаны в фразе GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2018, 10:34 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1829641]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 369ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...