ホームページ > バックエンド開発 > PHPチュートリアル > GROUP BY COUNT DISTINCT を使用するときにレコード数をカウントする方法

GROUP BY COUNT DISTINCT を使用するときにレコード数をカウントする方法

WBOY
リリース: 2016-07-29 08:44:57
オリジナル
1248 人が閲覧しました

たとえば、次のようなテーブルで、異なるメールアドレスとパスワードを持つレコードの数をカウントしたいとします。コードは次のとおりです: unsigned NOT NULL auto_increment,
`email` char(100) NOT NULL,

`passwords` char(64) NOT NULL, PRIMARY KEY (`email_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6;

INSERT INTO `test_users` (`email_id`, `email`, `passwords) `) 値

(1, 'jims@gmail.com', '1e48c4420b7073bc11916c6c1de226bb'),
(2, 'jims@yahoo.com.cn' ,
(4, 'jims@gmail.com',
(5, ', '');
通常はこれを行う方法です


コードをコピーします

コードは次のとおりです:


SELECT COUNT(*) FROM test_users WHERE 1 = 1 GROUP BY email,passwords


この結果はどうなるのでしょうか?

コードをコピーします

コードは次のとおりです:



COUNT(*)

1
2
1

1 明らかに、これは私が望む結果ではありません。同じメールアドレスとパスワードを使用する 合計、以下で十分です


コードをコピーします

コードは次のとおりです:


SELECT COUNT(DISTINCT email,passwords) FROM `test_users` WHERE 1 = 1



Ofもちろん、php で mysql_num_rows を使用してレコード数を取得することもできますが、これは効率的ではありません。この記事を参照してください

mysql_num_rows VS COUNT 効率の問題分析。 以上、GROUP BYを使用する際のCOUNT DISTINCTのレコード数のカウント方法を関連内容も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート