@svilkov87

Как сделать такой запрос с GROUP BY?

Добрый день!
Есть таблица в бд:
d3ecad40cb5d46dd9645d61197aab955.jpg

и запрос, используя GROUP BY:
SELECT id FROM `table` GROUP BY value ORDER BY id DESC


получаем:
array(2) {
  [0]=>
  array(1) {
    ["id"]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    ["id"]=>
    string(1) "3"
  }
}


Вопрос в том, как сделать, чтобы результат возвращался таким:
array(2) {
  [0]=>
  array(1) {
    ["id"]=>
    string(1) "5"
  }
  [1]=>
  array(1) {
    ["id"]=>
    string(1) "4"
  }
}


Спасибо.
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
SELECT MAX(id) FROM `table` GROUP BY value ORDER BY id ASC
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
SELECT id FROM (select id, value from `table` ORDER BY id desc) as tbl GROUP BY value


ps если у вас что-то в коде на ID привязано таким образом и сломается от неправильного, то так делать наверно не стоит. Потому что группировка-то в любой момент поменяется и айдишники там будут другие и вообще любые. В общем надо как-то это правильнее продумать.

pps Вариант Макс правильнее, я запамятовал такой вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект