MYSQL从列选择唯一值,其中列2 =值计算每个独特的价值多少次发现
问题描述:
我期待选择和计算列PHONE_NUMBER的每一次出现,其中列2 email_eddress ==值。MYSQL从列选择唯一值,其中列2 =值计算每个独特的价值多少次发现
示例数据库表
表:some_numbers
id | sender_email | phoner_number
1 | [email protected] | 555-555-5555
2 | [email protected] | 666-666-6666
3 | [email protected] | 555-555-5555
4 | [email protected] | 123-456-7890
我想选择PHONE_NUMBER值,且每个独特PHONE_NUMBER发生数为次数WHERE SENDER_EMAIL = $电子邮件变量,设置为检查个人电子邮件地址)。
我似乎无法弄清楚如何以某种方式查询这种方式,我可以输出如下所示的内容。
示例输出
[email protected] | 555-555-5555(2),123-456-7890(1)
[email protected] | 666-666-6666(1)
我尝试:
$results = $db->query("SELECT DISTINCT phone_number FROM some_numbers GROUP BY sender_email");
foreach($results as $result){
$number = trim($result['phone_number']);
echo $number.BR;
}
答
下面的查询应该工作:
select sender_email, phone_number, count(*)
from some_numbers
group by sender_email, phone_number;
这里是SQL Fiddle。
+0
感谢的数量,我曾尝试类似的东西,但它被扔坏的语法错误,所以我放弃了这个,因为我看不到在任何时间明显的语法问题吧,这工作很好。 – Meta
只是在查询添加次数来获得计数 – Ghost