[英]SQL - How to select a row having a column with max value (+ group by)
[英]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.