【问题标题】:MYSQL SELECT unique values from column where column2 = value & count how many times each unique value was foundMYSQL 从第 2 列 = 值的列中选择唯一值并计算找到每个唯一值的次数
【发布时间】:2016-11-29 07:20:16
【问题描述】:

我希望选择并计算每次出现的 phone_number 列,其中 column2 email_eddress == value。

示例数据库表

表:some_numbers

id | sender_email | phoner_number
1 | email@example.com | 555-555-5555
2 | email2@example.net | 666-666-6666
3 | email@example.com | 555-555-5555
4 | email@example.com | 123-456-7890

我正在尝试选择 phone_number 值以及找到每个唯一 phone_number 号码的次数 WHERE sender_email = $email 变量,该变量设置为检查单个电子邮件地址。

我似乎无法弄清楚如何以一种只能输出如下所示内容的方式查询它。

示例输出

电子邮件@example.com | 555-555-5555 (2)、123-456-7890 (1)

email2@example.net | 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;
    }

【问题讨论】:

  • 只要在查询上加上count就可以得到count个数

标签: php mysql select


【解决方案1】:

下面的查询应该可以工作:

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

这里是SQL Fiddle

【讨论】:

  • 谢谢,我尝试过类似的方法,但它抛出了错误的语法错误,所以我放弃了它,因为当时我看不到任何明显的语法问题,这很好用。
猜你喜欢
  • 2014-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
相关资源
最近更新 更多