Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server中执行分组时,如何跳过只有一个条目的max函数_Sql Server_Stored Procedures - Fatal编程技术网

Sql server 在SQL Server中执行分组时,如何跳过只有一个条目的max函数

Sql server 在SQL Server中执行分组时,如何跳过只有一个条目的max函数,sql-server,stored-procedures,Sql Server,Stored Procedures,我有一个要求,就是我要按桌子分组 表格 Name salary ------------ abc 10000 abc 1000 def 100 查询: select max(salary) from table group by Name 结果: abc 10000 def 100 我不希望显示“def”,因为它是表中的单个条目。如何实现这一点?您可以添加一个子句 已指定组或聚合的搜索条件。 HAVING只能与SELECT语句一起使用。拥有是典型的 与GROU

我有一个要求,就是我要按桌子分组

表格

Name  salary
------------
abc   10000
abc    1000
def     100
查询:

select max(salary) 
from table 
group by Name 
结果:

abc 10000
def   100
我不希望显示“def”,因为它是表中的单个条目。如何实现这一点?

您可以添加一个子句

已指定组或聚合的搜索条件。 HAVING只能与SELECT语句一起使用。拥有是典型的 与GROUPBY子句一起使用。如果不使用分组依据,则会出现 隐式单个聚合组

这将只返回超过1行的名称的聚合,这似乎是您想要的

示例

declare @table table (name varchar(16), salary int)
insert into @table
values
('abc',10000),
('abc',1000),
('def',100),
('xxf',100)

select 
    Name
    ,max(salary) 
from @table 
group by Name 
having count(*) > 1
您可以添加一个子句

已指定组或聚合的搜索条件。 HAVING只能与SELECT语句一起使用。拥有是典型的 与GROUPBY子句一起使用。如果不使用分组依据,则会出现 隐式单个聚合组

这将只返回超过1行的名称的聚合,这似乎是您想要的

示例

declare @table table (name varchar(16), salary int)
insert into @table
values
('abc',10000),
('abc',1000),
('def',100),
('xxf',100)

select 
    Name
    ,max(salary) 
from @table 
group by Name 
having count(*) > 1

你的文字比图片好。。。我将还原您的编辑以过滤您使用的
行,其中
,过滤您使用的
具有的
聚合。您的文本比图像更好。。。我将还原您的edit以过滤您使用的
行,其中
,过滤您使用的
集合。