我想根据testid和buildnumber获取行。
表格我看起来像是
+------+-----------+------------+ |testid|distanceAF3| buildnumber| +------+-----------+------------+ |1 |13.1 | 1149 | |2 |12.1 | 1149 | |3 |9.3 | 1149 | |4 |15.2 | 1304 | |5 |19.4 | 1304 | |6 |23.3 | 1304 | +--+-----+-------+---------+----+
如您所见,如果我基于buildnumber进行分组,则组为1149和1304 我想基于buildnumber得到行,但是每个构建号都有不同的testid(testid 1,2和3属于1149,4,5和6属于1304 build),我想有所有不同同时也是如此。
输出将是
+------+-----------+------------+ |testid|distanceAF3| buildnumber| +------+-----------+------------+ |1 |13.1 | 1149 | |2 |12.1 | | |3 |9.3 | | |4 |15.2 | 1304 | |5 |19.4 | | |6 |23.3 | | +--+-----+-------+---------+----+
是否可以使用mysql?
由于
答案 0 :(得分:2)
尝试:
select t.testid, t.distanceaf3, x.buildnumber
from tbl t
left join (select buildnumber, min(testid) as testid
from tbl
group by buildnumber) x
on t.testid = x.testid
小提琴: http://sqlfiddle.com/#!2/d77e9/1/0
作为替代方案 - 我想你正在使用PHP? - 您可以显示或不显示BUILDNUMBER字段,具体取决于当前行的值是否与上一行相同(使用循环中的#,而前一个#)
答案 1 :(得分:1)
您想要testid
的列表吗?如果是,group_concat()
执行此操作:
select buildnumber, group_concat(testid) as testid
from table t
group by buildnumber;