【发布时间】:2019-07-13 11:29:22
【问题描述】:
全新的 SQL。
我正在尝试输出 2018 年用户最常用的应用程序。版本:MySQL v5.7
关系:
- user(UID: INT PRIMARY KEY, UNAME VARCHAR(100), LOCATION VARCHAR(100))
- 应用程序(AID:INT PRIMARY KEY,DID:INT NOT NULL,AppName VARCHAR(100),versionDate DATE)
- usageHistory(AID:INT NOT NULL,UID:INT NOT NULL,usageDate DATE NOT NULL)
我当前的尝试是抛出 Invalid Use of Group Function 异常
SELECT user.UID, application.AID
FROM user
INNER JOIN usageHistory ON usageHistory.UID = user.UID
INNER JOIN application ON application.AID = usageHistory.AID
WHERE YEAR(usageHistory.usageDate) = 2018
GROUP BY user.UID
HAVING MAX(COUNT(usageHistory.AID))
我想显示用户名 | 2018 年最常用的应用程序。
示例:
- 史蒂夫·史密斯 |脸书
- 简·史密斯 |推特
(管道纯粹用于可视化)
【问题讨论】: