Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Mysql检查该行以及有多少行具有相同的电子邮件_Php_Mysql_Count - Fatal编程技术网

PHP Mysql检查该行以及有多少行具有相同的电子邮件

PHP Mysql检查该行以及有多少行具有相同的电子邮件,php,mysql,count,Php,Mysql,Count,我在PHP MYSQL上有这个问题 这是我的数据库示例 id word email 1 Helo jon@gmail.com 2 Sim jon@gmail.com 3 Sam jon@gmail.com 4 Mac mars@gmail.com 5 Mimic mars@gmail.com 现在我想解决的问题是,如何计算同一封邮件的邮件数 输出网页: id word email submitted words dictionary 1 Helo jon@g

我在PHP MYSQL上有这个问题 这是我的数据库示例

id word email
1  Helo jon@gmail.com
2  Sim  jon@gmail.com
3  Sam  jon@gmail.com
4  Mac  mars@gmail.com
5  Mimic mars@gmail.com
现在我想解决的问题是,如何计算同一封邮件的邮件数 输出网页:

id word email          submitted words dictionary
1  Helo jon@gmail.com        3         regular
2  Sim  jon@gmail.com        3         regular
3  Sam  jon@gmail.com        3         regular
4  Mac  mars@gmail.com       2         regular
5  Mimic mars@gmail.com      2         regular
提交的单词是电子邮件的计数。 如何在php上计算相同的电子邮件数并输出3…

使用
mysql\u num\u rows()
例如:

//mysql_connect() & mysql_select_db()    
$q=mysql_query("SELECT * FROM tablename WHERE email='jon@gmail.com'");
$count=mysql_num_rows($q); //3
使用此查询:

SELECT email, COUNT(*) AS nb_emails
FROM your_table
GROUP BY `email`
它将为表中的每封电子邮件返回关联记录的数量

如果正在使用,则可以使用该代码获取所有值:

$sql = "SELECT email, COUNT(*) AS nb_emails
          FROM your_table
          GROUP BY `email`";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res))
{
    // do something with the values of the last fetched record. The values are stored in $row['email'] and $row['nb_emails']
}
注意:不鼓励使用MySQL扩展。相反,应该使用or扩展名。有关更多信息,请参见指南和。

尝试以下方法:

SELECT a.ID, a.Word, a.Email, b.SubmittedWords
FROM   myTable a INNER JOIN
        (
            SELECT email, COUNT(*) SubmittedWords
            FROM mytable
            GROUP BY email
        ) b
            ON a.email = b.email
使用以下命令:

select email,
count(email) as count_same
from table_users
group by email
having ( count(email) > 1 );

我怎么去拿
$row=mysql\u fetch\u array($sql)
那么$row['nb\u emails']正确吗;