Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка с максимальным значением / 5 сообщений из 5, страница 1 из 1
29.06.2017, 23:44
    #39480028
z3r9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с максимальным значением
Здравствуйте. Есть таблицы:

t1idcat_idname

t2 t1_idvalue

Нужно вывести записи с t1 сгруппированные по cat_id у которых самое большое value в группе.

Код: sql
1.
2.
3.
SELECT * FROM (
    SELECT *.t1, (SELECT max(t2.value) FROM t2 WHERE t1.id=t2.t1_id) as max1 FROM t1 ORDER BY max1 DESC 
) as tmp1 GROUP BY tmp1.cat_id 



Вопрос есть ли более простое решение, что бы не приходилось запрос в запросе делать?
...
Рейтинг: 0 / 0
30.06.2017, 02:28
    #39480067
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с максимальным значением
...посмотрите 7543220 , может подойдет...
...
Рейтинг: 0 / 0
30.06.2017, 09:20
    #39480134
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с максимальным значением
z3r9Нужно вывести записи с t1 сгруппированные по cat_id
Вы понимаете, что кроме поля cat_id все остальные поля из этой таблицы взяты пусть и из группы, но "от фонаря"?
Вы понимаете, что сортировка подзапроса игнорируется?
...
Рейтинг: 0 / 0
30.06.2017, 23:25
    #39480756
z3r9
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с максимальным значением
javajdbc, спасибо, посмотрю.

Akina, спасибо, сортировка работает вроде бы. По крайней мере с DESC и ASC данные меняются. И нескольким данным значения правильные вывело. Может вы не обратили внимание что запрос вида SELECT * FROM (SELECT ... ORDER) as temp1 GROUP BY ...
...
Рейтинг: 0 / 0
02.07.2017, 19:53
    #39481329
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка с максимальным значением
z3r9сортировка работает вроде бы. По крайней мере с DESC и ASC данные меняются. И нескольким данным значения правильные вывело. Может вы не обратили внимание что запрос вида SELECT * FROM (SELECT ... ORDER) as temp1 GROUP BY ...Сортировка в подзапросе - игнорируется. Даже если выполняется - что не факт, зависит от версии. Не надо спорить, Вы просто не поняли, по какой причине наблюдаете описываемый Вами эффект. Но если изменение сортировки приводит к изменению выходного набора, а Вас это устраивает - так это Ваши будущие проблемы (даже если Вы их пока ещё не видите).
Что во внешнем запросе вместе с группировкой выполняется ещё и сортировка - это понятно, это описано в документации, и возражений тут нет. Равно как и необходимости обращать на это внимание.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Группировка с максимальным значением / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]