如何使用matrics的顺序选择顶部不同的值

时间:2017-06-07 15:41:43

标签: mysql sql

我有一张这样的表

enter image description here

我希望每个表的行都有最小的响应时间

我试过这个问题:

InterfaceAudience

但它没有给出我想要的东西

我想要的输出是

select tablename,
       index1, 
       index2, 
       min(responsetime) 
from   tableconf 
group by tablename 
order by responsetime asc

我应该用什么查询来获取我想要的输出

2 个答案:

答案 0 :(得分:2)

选择每个表名的最小日期。在这些上使用IN子句来获取行:

select *
from tableconf 
where (tablename, responsetime) in
(
  select tablename, min(responsetime)
  from tableconf 
  group by tablename
);

答案 1 :(得分:-1)

(从上一个回答编辑)

我不知道所有SQL语法是否接受逗号分隔where参数。现在,另一个基于最高投票答案的选择是使用联接:

select *
from tableconf t
inner join (
           select tablename, min(responsetime) min_rt
           from tableconf t2
           group by tablename
           ) t3 on t.tablename = t2.tablename and t.responsetime = t2.min_rt