MySQL ORDER BY然后GROUP By

时间:2016-05-25 14:38:52

标签: 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,主   PCID   中央处理器   memphy   MEMCOM   memvir   时间戳

我尝试按时间戳和身份排序,没有运气。

2 个答案:

答案 0 :(得分:0)

你应该提供更多细节,但它可能是这样的:

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

答案 1 :(得分:0)

此查询应返回您需要的行:

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并返回所有最高=每列最大值的行。