2017-08-08 33 views
0

考虑到我需要从表格中找到Eleni(我知道该怎么做),接下来要做的事情是显示来自Steven的整个员工记录的最高工资值为24000,事情是我总是得到Eleni的薪水是10500.我如何显示史蒂文的最高工资?什么是正确的SQL显示雇员名称,然后整个表的最高工资?

SELECT 
    LASTNAME || ',' || FIRSTNAME, 
    MAX(SALARY) 
FROM 
    EMPLOYEES 
WHERE 
    LASTNAME LIKE 'Z%' 
GROUP BY 
    LASTNAME, 
    FIRSTNAME, 
    SALARY; 

输出:

LASTNAME||','||FIRSTN MAX(SALARY) 
--------------------- ----------- 
ZLOTKEY,ELENI    10500 

输出应该是:

LASTNAME||','||FIRSTN MAX(SALARY) 
--------------------- ----------- 
ZLOTKEY,ELENI    24000 
+0

所以你想要一些随机的人的名字,以及所有员工的最高工资? – Kevin

+0

我建议你使用'AS'操作符重命名你的列。此外,连接的ISO SQL方法是'CONCAT'函数,而不是'||'运算符。 – Dai

+0

你需要在'EMPLOYEES'表中显示你的原始数据 - 你有'LASTNAME LIKE'Z%'' - 除非他的姓还以'Z'字符开头,否则Steven的数据不会显示,确认。 – Dai

回答

0

像这样的东西会给你最大的工资为整个表:

SELECT 
    CONCAT(CONCAT(LASTNAME, ','), FIRSTNAME) AS FULLNAME, 
    MAXSALARY 
FROM 
    EMPLOYEES, (SELECT MAX(SALARY) AS MAXSALARY FROM EMPLOYEES) 
WHERE 
    LASTNAME LIKE 'Z%'; 

但作为其他评论员说,这将o只要Eleni是唯一一个以'Z'开头的姓氏的雇员,就只需要给你想要的东西。只要您聘用Paul Zisman,您的查询将不会仅返回一条记录。在这种情况下,Max(Salary)将显示两次。

相关问题