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以过滤您使用的行,其中
,过滤您使用的集合。