我在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…
发布于 2012-08-10 17:55:44
使用以下查询:
SELECT email, COUNT(*) AS nb_emails
FROM your_table
GROUP BY `email`它将为您的表中的每个电子邮件返回相关记录的数量。
如果您使用的是mysql_* functions,则可以使用该代码获取所有值:
$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扩展。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL: choosing an API指南和related FAQ了解更多信息。
发布于 2012-08-10 17:54:39
例如,使用mysql_num_rows():
//mysql_connect() & mysql_select_db()
$q=mysql_query("SELECT * FROM tablename WHERE email='jon@gmail.com'");
$count=mysql_num_rows($q); //3发布于 2012-08-10 17:57:10
试试这个:
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.emailhttps://stackoverflow.com/questions/11899228
复制相似问题