添加两列SQL Server错误

use*_*503 0 sql sum sql-server-2008

我只想添加两个我一直使用此查询的SQL Server表列来执行此操作:

  SELECT 
      sessionnumber, sessioncount, timespent,
      SUM(sessioncount+timespent) as cnt 
  into d3 
  from clusters
  order by sessionnumber
Run Code Online (Sandbox Code Playgroud)

但问题是它给我的错误如下:

消息8120,级别16,状态1,行1
列"clusters.sessionnumber"在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

我一直在努力克服这个问题,但我没有成功!任何人都可以提前帮助我!

mar*_*c_s 5

如果你有这样一个聚集函数SUM(或者也MIN,MAX,AVG,COUNT),在列的列表中的所有其他列在SELECT必须是在GROUP BY条款:

 SELECT 
      sessionnumber, sessioncount, timespent,
      SUM(sessioncount+timespent) as cnt 
  INTO d3 
  FROM clusters
  GROUP BY
      sessionnumber, sessioncount, timespent
  ORDER BY 
      sessionnumber
Run Code Online (Sandbox Code Playgroud)

所以你基本上是按这三列("分组"你的数据sessionnumber, sessioncount, timespent,总结sessioncount + timespent每个组的值,然后你将这些值插入到新d3表中