たとえば、次のようなテーブルで、異なるメールアドレスとパスワードを持つレコードの数をカウントしたいとします。コードは次のとおりです: 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
true
http://www.bkjia.com/PHPjc/323248.html
技術記事
たとえば、次のようなテーブルで、異なる電子メールとパスワードを持つレコードの数をカウントしたいとします。次のようにコードをコピーします。 CREATE TABLE IF NOT EXISTS `test_users` ( `email_id` int(11) unsigned.. .