我有一个查询
select t1.id,t1.col1,t1.col2,t2.col1,t2.col2,sum(t2.col3) as total
From table1 t1
join table2 t2 on t1.id=t2.id
where t1.col =@col
Group by t1.id
并且它给了我一个错误
t1.col1在选择列表中无效,因为它不包含在中 无论是聚合函数还是GROUP BY子句。
如何在group by子句中选择具有单列的多列?
答案 0 :(得分:2)
只是你不能在Group By
子句中选择一列含有一列的多列,除非你将它们放在某个组功能中,例如AVG,MIN,MAX等,或者在Group BY
子句中添加所有列。
select t1.id,t1.col1,t1.col2,t2.col1,t2.col2,sum(t2.col3) as total
From table1 t1
join table2 t2 on t1.id=t2.id
where t1.col =@col
Group by t1.id , ,t1.col1,t1.col2,t2.col1,t2.col2
答案 1 :(得分:0)
如果t1.col1,t1.col2,t2.col1,t2.col2是数字列,则可以使用min, max
。
对于字符串列,您需要在groupby
语句