SQL 2008中的Max Query

时间:2013-12-27 22:24:03

标签: sql

我创建了一个查询,向我提供与帐户关联的最大数字。例如:

  • 帐号,号码
  • 1234,8
  • 7891,5
  • 4245,12

我想添加更多列,例如State和City。当我这样做时,我收到一个错误“列在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。”

我不知道如何解决这个错误,有什么帮助吗?

很抱歉格式化我不知道如何正确发布。

3 个答案:

答案 0 :(得分:2)

对于您添加到选择列表的每个列,将其添加到group by子句。您已按帐号进行分组,因此您的陈述将如下所示

select account, max(number), city, state from <table> group by account, city, state

答案 1 :(得分:0)

请提供您的初始请求。 pb似乎在您所做的SELECT上,即分组行,如果在结果中添加列,则必须在“group by”行中列出

答案 2 :(得分:0)

如果您知道给定帐户的值完全相同,您也可以将它们包装在min()max()中:

select account, max(number), min(city) as city, min(state) as state
from table t
group by account;