Как получить данные строки, которые включают максимальное значение в MySQL? - PullRequest
0 голосов
/ 28 апреля 2020

Как получить итоговые данные строки, которые имеют max (reg_count). Когда я пытаюсь это сделать, это дает мне только максимальное значение reg_count. Я хочу получить целые данные строки, в которых есть max reg_count в каждом альбоме. (Примерно так: 4 Bemisal ha 1 1 8) - всего 4 строки

SELECT albumID, max(reg_count) as max_count
FROM contentnew 
GROUP BY albumID

enter image description here

Пожалуйста, помогите мне!

1 Ответ

1 голос
/ 28 апреля 2020

Вы не упоминаете версию MySQL, которую вы используете, поэтому я предполагаю, что это современная (8.x). Вы можете использовать функцию окна ROW_NUMBER() для определения нужной вам строки.

Например:

select *
from (
  select *,
    row_number() over(partition by albumID order by reg_count desc) as rn
  from contentnew
) x
where rn = 1

В MySQL 5.x вы можете использовать коррелированный подзапрос:

select *
from contentnew a
where a.reg_count = (
  select max(reg_count) 
  from contentnew b 
  where b.albumID = a.albumID)
)
...