次のフィールドを持つデータベースがあります
Create table users
{
id int NOT NULL,
username varchar(255),
email varchar(255),
signup_date date,
PRIMARY KEY(id)
}
Create index user_index
On users (username)
一意のキーワードを含めていないため、データベースでは複数のユーザーが同じユーザー名を持つことができます。テーブルに複数のインスタンスを持つすべてのユーザー名について、ユーザー名のリストとそのユーザー名の最新の signup_date を生成する SQL クエリを作成しました。
select username, MAX(signup_date)
group by username
しかし、上記のクエリから返されたすべてのユーザー名の一意の電子メール アドレスのリストを生成するクエリも作成する必要があり、次のように思いつきました。
select distinct email
From users
Group by username
Having max(signup_date)
私の質問は、Having ステートメントの後に条件を記述する必要がありますか? それとも、Having 句を省略すれば、目的の結果が得られるのでしょうか?