2016-11-28 102 views
0

我期待选择和计算列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; 
    } 
+0

只是在查询添加次数来获得计数 – Ghost

回答

1

下面的查询应该工作:

select sender_email, phone_number, count(*) 
from some_numbers 
group by sender_email, phone_number; 

这里是SQL Fiddle

+0

感谢的数量,我曾尝试类似的东西,但它被扔坏的语法错误,所以我放弃了这个,因为我看不到在任何时间明显的语法问题吧,这工作很好。 – Meta