Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отобразить значения полей максимальных элементов в таблице / 10 сообщений из 10, страница 1 из 1
27.11.2019, 11:00
    #39894907
Malissa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Добрый день.

Допустим есть таблица

Код: sql
1.
2.
3.
4.
login | value | comment
    1 |    10 | комментарий 1
    2 |     5 | комментарий 2
    1 |   100 | комментарий 3



Надо найти максимальные элементы для каждого логина и отобразить комментарий для максимального элемента

Пробую это сделать так

Код: sql
1.
2.
3.
4.
SELECT `login`, MAX( `value` ) value, `comment`
START
FROM `tmp`
GROUP BY `login`



но получаю комментарий который не соответствует максимальному значению

Может кто подсказать как правильно сформировать запрос?
...
Рейтинг: 0 / 0
27.11.2019, 11:15
    #39894923
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Malissa,

В таблице нет Id. Надо его добавить.
...
Рейтинг: 0 / 0
27.11.2019, 11:58
    #39894963
Malissa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Попробовал добавить id но результат такой же
...
Рейтинг: 0 / 0
27.11.2019, 12:12
    #39894972
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Malissa,

Попробовал добавить id но результат такой же
Ну конечно. Id просто должен быть, иначе это вообще безобразие.

Код: sql
1.
2.
3.
4.
5.
6.
select * from 
    tmp,
   (select login, max(value) as value
        from tmp 
        group by login) maxVals
where tmp.login = maxVals.login and tmp.value = value


Как-то так, нет mysql чтобы проверить. Запрос тормозной будет, конечно.
...
Рейтинг: 0 / 0
27.11.2019, 13:07
    #39895015
Malissa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
При таком запросе выдает ошибку

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Ошибка

SQL-запрос: Документация

SELECT *
FROM tmp, (

SELECT login, max( value ) AS value
FROM tmp
GROUP BY login
)maxVals
WHERE tmp.login = maxVals.login
AND tmp.value = value
LIMIT 0 , 30

Ответ MySQL: Документация
#1052 - Column 'value' in where clause is ambiguous 
...
Рейтинг: 0 / 0
27.11.2019, 13:12
    #39895019
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Malissa,

Код: sql
1.
AND tmp.value = maxVals.value
...
Рейтинг: 0 / 0
27.11.2019, 13:33
    #39895041
Malissa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Спасибо. Так работает но очень долго выполняет запрос при большом количестве информации. При моем объеме информации выходит около 20 секунд. Быстрых способов нету?
...
Рейтинг: 0 / 0
27.11.2019, 14:06
    #39895074
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
...
Рейтинг: 0 / 0
28.11.2019, 03:56
    #39895323
crutchmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Malissa,

Извратиться с переменными, как советовали выше. Все остальные варианты из фака на mysql будут тормозными (про крайней мере были для 5.7)
...
Рейтинг: 0 / 0
28.11.2019, 05:08
    #39895326
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отобразить значения полей максимальных элементов в таблице
Тут неплохой разбор полетов:
https://sqlinfo.ru/articles/info/45.html
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отобразить значения полей максимальных элементов в таблице / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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