SELECT *如何使用聚合函数MAX?

时间:2018-10-03 15:49:39

标签: sql-server powershell

我有以下查询语句:

$Table = Query "SELECT *, MAX([sequence]) from [dbo].[$cubeTable] WHERE [application] = '$App_input' ORDER BY MAX([sequence])"
我有一个表,该表列出了多维数据集的行,每个多维数据集重复两次,因此一个序列重复两次。

例如:

Table

我两次列出一个多维数据集的原因是因为每个多维数据集都有一个不同的查询服务器(每个多维数据集2个查询服务器)。

我想出于循环目的返回此语句,并且在某种情况下只传递一个行/序列。所以我只想返回序列1的1行和序列2的1行,依此类推...(假设在这里ORDER BY)

但我得到以下错误:

  

使用“ 1”参数调用“ Fill”的异常:“ select中的列“ application”无效   列出,因为它既不在聚合函数中也不在GROUP BY子句中。”

1 个答案:

答案 0 :(得分:1)

我想您正在使用SQL Server,因为这是一个常见错误。 如果要汇总,则需要明确地对要显示的每个列进行分组。

在您的情况下,查询应类似于

select *, max(sequence)
from <your table>
group by <an explicit list of all columns without seqence>
order by max(sequence)