簡體   English   中英

如何選擇SQL中列中具有最大值的所有記錄?

[英]How do I select all records having the max value in a column in SQL?

假設我有以下數據庫:

Create table Employee (emp_id int, emp_name varchar(20), staff int);

Insert into Employee values(101,"John", 3);    
Insert into Employee values(102,"Mary", 3);    
Insert into Employee values(103,"Smith",2);    
Insert into Employee values(104,"Bill", 2);    
Insert into Employee values(105,"Kelly", 1);

我希望它選擇印刷版約翰和瑪麗,因為他們的員工人數最多,即 3。有人能解釋一下嗎?

我試過這樣做:

select emp_name from Employee having staff = max(staff);

但我不斷收到錯誤!

您可以使用返回表的最大員工數的子查詢:

select e.* from Employee e
where e.staff = (select max(staff) from Employee)
= (SELECT MAX(staff) FROM Employee) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM