0

郵便番号がデータベースに入力された回数をカウントしたい。正しい機能を使用しているかどうかはわかりません。また、最終的には、データベースに入力された年ごとに郵便番号を区切る必要があります。私は年を分ける方法を知っています。私が本当に助けを必要としているのは、重複したエントリを数えることです。これが私のコードです。

$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>';
4

2 に答える 2

0

私はこれがうまくいくと思います:

SELECT COUNT(*) AS cnt, zipcode FROM zip
GROUP BY zipcode
ORDER BY time_register
于 2009-07-31T20:42:12.183 に答える
0
select count(ZIPCODEFIELD) as cnt, ZIPCODEFIELD, time_register FROM zip
GROUP BY zipcode,time_register
于 2009-07-31T20:44:25.797 に答える