同じ選択ステートメントで count と group by を使用する方法 質問する

同じ選択ステートメントで count と group by を使用する方法 質問する

SELECTも使用するSQL クエリがあり、句が結果セットをフィルターしたGROUP BY後のすべてのレコードをカウントしたいと考えています。GROUP BY

これを SQL で直接実行する方法はありますか? たとえば、テーブルがあり、さまざまな町とユーザーの総数usersを選択したい場合:

SELECT `town`, COUNT(*)
FROM `user`
GROUP BY  `town`;

すべての町を含む列と、すべての行のユーザー数を含む列を作成したいと思います。

3 つの町と合計 58 人のユーザーがいる場合の結果の例は次のとおりです。

カウント
コペンハーゲン 58
ニューヨーク 58
アテネ 58

ベストアンサー1

これで、必要な操作が実行されます(町のリストと、それぞれのユーザー数)

SELECT `town`, COUNT(`town`)
FROM `user`
GROUP BY `town`;

ほとんど使えます集計関数GROUP BYステートメント(COUNT、など)MAXを使用する場合COUNT DISTINCT

更新:ユーザー数の変数を宣言し、そこに結果を保存してから、SELECT変数の値を保存できます。

DECLARE @numOfUsers INT
SET @numOfUsers = SELECT COUNT(*) FROM `user`;

SELECT DISTINCT `town`, @numOfUsers FROM `user`;

おすすめ記事