select o.instrumentName,a.name,sum(t.actualUseNumber) 测样数目,t.sysTime from testTotal t,adminInfo a,order_instrument o where a.id = t.adminId and o.id = t.instrumentId and sysTime between '2012-10-01' and '2012-12-01' group by a.name
提示
服务器: 消息 8120,级别 16,状态 1,行 1 列 'o.instrumentName' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。 服务器: 消息 8120,级别 16,状态 1,行 1 列 't.sysTime' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
select a.name,sum(t.actualUseNumber) 测样数目 from testTotal t,adminInfo a,order_instrument o where a.id = t.adminId and o.id = t.instrumentId and sysTime between '2012-10-01' and '2012-12-01' group by a.name
这样查询出来是没问题的, 但是我想在查出来的结果里面包含 'o.instrumentName' 't.sysTime' 该怎么改写啊? [最优解释] select o.instrumentName,a.name,sum(t.actualUseNumber) 测样数目,t.sysTime from testTotal t,adminInfo a,order_instrument o where a.id = t.adminId and o.id = t.instrumentId and sysTime between '2012-10-01' and '2012-12-01'group by a.name,o.instrumentName,t.sysTime
[其他解释] 这样就不抱错,但是不知道你的意图和结构是什么,所以不知道数据是不是你想要的
select o.instrumentName,a.name,sum(t.actualUseNumber) 测样数目,t.sysTime from testTotal t,adminInfo a,order_instrument o where a.id = t.adminId and o.id = t.instrumentId and sysTime between '2012-10-01' and '2012-12-01' group by o.instrumentName,a.name,t.sysTime
[其他解释] 你期待的结果是什么?弄出来看看 [其他解释] 试试:
SELECT NAME , instrumentname , MAX(systime) systime , SUM(测试数目) 测试数目 FROM TB GROUP BY NAME , instrumentname