sql - 如何在选择多列时按 1 列分组
问题描述
我试图从一个表中获取员工信息,同时对另一个表中的列进行分组,我似乎得到了重复。我需要按年份分组,同时展示当年销售额最高的员工。
我尝试了什么:
select concat(SM.FirstName,'-',SM.LastName) AS EmployeeOfTheYear,Year(S.SaleDate) AS SaleYear,Max(S.SalePrice) AS SalesPrice
from SalesMan SM,Sale S
where SM.SalesManID = S.SalesManID
group by Year(S.SaleDate),concat(SM.FirstName,'-',SM.LastName)
结果:
我觉得我应该在这里做一个子查询。我试过在网上找东西,但找不到任何东西可以帮助我只显示一年。
解决方案
听起来你需要一个 JOIN 子句。这将只返回两组的交集。https://www.w3schools.com/sql/sql_join_inner.asp
推荐阅读
- macos-catalina - 使用 macOS 主机配置 MDT 时,Coral Dev Board 上不存在密钥
- powerbi - 表 2 列中存在的表 1 中的列值计数 - Power BI
- android - 如何使用推荐代码正确检查用户的登录状态?
- javascript - 在抓取功能之外初始化 Puppeteer 浏览器
- node.js - 为什么我仍然可以将 ObjectId 类型值分配给 Typescript 中的字符串数组?
- javascript - 嵌套 Javascript 对象不接受推送方法。TypeError:无法读取未定义的属性“推送”
- python - 选择前 10 个单词的问题,同时具有条件块单词列表
- python - 有没有办法区分回复你的人和使用 Tweepy 在 Twitter 上直接提及你的人?
- php - preg_replace 不适用于符号组
- python - Python如何在输入列表上平方?例如:输入:7,输出:[0, 1, 4, 9, 16, 25, 36, 49]