MySQL ORDER BY BY GROUP BY - mysql

У мене є таке:

SELECT * FROM (SELECT * FROM table ORDER BY id DESC) t GROUP BY pcid

SELECT * FROM (SELECT * FROM table ORDER BY timestamp DESC) t GROUP BY pcid

Я не можу отримати GROUP BY в правильному порядку. Він завжди тягне з найменшого значення.

Чи є у мене відсутній якийсь синтаксис, який мені не підходить?

Після того як шукати останні кілька годин, щоб знайти вирішення цієї проблеми, я не зміг вирішити цю проблему. Це питання було поставлено питання, оскільки я не зміг знайти відповідь.

Ось моя структура таблиці:

стіл id, primary ПКС ЦП memphy memcom Мемвір часовий покажчик

Я намагався сортувати за тайм-метром та ідентифікатором без успіху.

Відповіді:

0 для відповіді № 1

Цей запит повинен повернути потрібні вам рядки:

select
t.*
from
table t INNER JOIN (select column, max(highest) m_highest
from table
grouo by column) tm
on t.column=tm.column and t.highest=tm.m_highest

Підзапит повертає максимальний максимум у стовпчику, після чого ви приєднуєтесь до початкової таблиці t і повертаєте всі рядки, які мають найбільшу величину = максимально високий для кожного стовпця.


0 для відповіді № 2

Ви повинні дати більше деталей, але це може бути щось на зразок цього:

 SELECT column, highest, count(somecolumnname)
FROM table_name
GROUP BY column, highest
ORDER BY highest DESC