【问题标题】:Counting duplicate entries in database计算数据库中的重复条目
【发布时间】:2010-11-15 22:21:24
【问题描述】:

我想计算一个邮政编码输入数据库的次数。我不确定我是否使用了正确的功能。此外,最终我需要将邮政编码按输入数据库的年份分开。我知道如何分开岁月。我真正需要帮助的是计算重复条目。 这是我的代码。

$sql = 'SELECT * FROM zip ORDER BY time_register'; 
$result = mysql_query($sql,$db) or die(mysql_error(). "<br />SQL: $sql");
$row = mysql_fetch_array($result);

do{
    $visitor_zip= array();
    $register = $row['time_register'];
    $register_year = date(Y,$register);

    print_r(array_count_values($visitor_zip));

} while($row = mysql_fetch_array($result))

答案:这是我的有效代码。

$sql = "SELECT `visitor_zip` AS `zip`, COUNT(`visitor_zip`) AS `cnt`
        FROM `zip`
        GROUP BY `visitor_zip`
        ORDER BY visitor_zip";

$result = mysql_query($sql,$db) or die(mysql_error(). "<br />SQL: $sql");

print '<table class="zip"><tr><td><b>Zip</b></td><td># of</td></tr>';
while($row = mysql_fetch_array($result)) {
    print '<tr><td>' . $row['zip'] .'</td><td>'.  $row['cnt'] . '</td></tr>';
}
print '</table>';

【问题讨论】:

  • 你的表中有哪些字段?
  • zip_id visitor_zip visitor_id visitor_email time_register 我现在只使用time_register(这是一个时间戳)和visitor_zip。我感谢我已经获得的所有帮助。我完全走错了路,试图解决这个问题。我试图找到一个 php 函数来执行此操作,而不是将查询更改为数据库。现在我不知道如何编写代码来显示来自数据库的信息。这有意义吗?

标签: arrays count duplicates duplicate-data zipcode


【解决方案1】:

我认为这应该可行:

SELECT COUNT(*) AS cnt, zipcode FROM zip
GROUP BY zipcode
ORDER BY time_register

【讨论】:

  • 您可能想在某处添加一个 min(time_register),假设每个邮政编码的第一个输入日期是感兴趣的日期。
  • 感谢我已经获得的所有帮助。我完全走错了路,试图解决这个问题。我试图找到一个 php 函数来执行此操作,而不是将查询更改为数据库。现在我不知道如何编写代码来显示来自数据库的信息。你能帮忙吗!?
  • 我已经有 5 年没有接触过 php 了,所以我可能不是要问的人。您可能想将此添加到您的原始问题中。
【解决方案2】:
select count(ZIPCODEFIELD) as cnt, ZIPCODEFIELD, time_register FROM zip
GROUP BY zipcode,time_register

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 2012-10-16
    • 2017-02-16
    • 1970-01-01
    • 2017-05-08
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多