ホームページ > バックエンド開発 > PHPチュートリアル > GROUP BY COUNT(*) DISTINCT_PHP チュートリアルを使用してレコード数をカウントする方法

GROUP BY COUNT(*) DISTINCT_PHP チュートリアルを使用してレコード数をカウントする方法

WBOY
リリース: 2016-07-21 15:30:19
オリジナル
1284 人が閲覧しました

たとえば、次のようなテーブルで、異なるメールアドレスとパスワードを持つレコードの数をカウントしたいとします。コードは次のとおりです: 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 効率の問題分析。 http://www.bkjia.com/PHPjc/323248.html
www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/323248.html
技術記事

たとえば、次のようなテーブルで、異なる電子メールとパスワードを持つレコードの数をカウントしたいとします。次のようにコードをコピーします。 CREATE TABLE IF NOT EXISTS `test_users` ( `email_id` int(11) unsigned.. .
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート