2012-02-24 29 views
2

私はサブスクリプション情報を保持するテーブルを持っています。一部の郵便番号は5桁で、一部は9(55025と55025-4056)です。私は各郵便番号の総購読数をカウントするためにクエリを実行したいが、一致する5桁の数字で9桁の数字をグループ化する必要がある。MySQLグループ郵便番号

SELECT zip, COUNT(id) AS total FROM subscriptions WHERE status = 'A' GROUP BY zip 

もちろん、55025と55025-4056は2つの異なる郵便番号として読み込まれます。 55025に100個のレコードがあり、55025-4056に10個のレコードがある場合、55025 = 110個のレコードが表示されます。このクエリを実行して、郵便番号の最初の5桁でグループ化するにはどうすればよいですか?

おかげ

答えて

4
SELECT LEFT(zip,5) zip, COUNT(id) AS total 
FROM subscriptions WHERE status = 'A' 
GROUP BY LEFT(zip,5); 
+0

プリティから仕事をするためにあなたの好きな文字列関数を選ぶことができます! Rolandoを愛する。魅力的な作品! – Munk

0
SELECT zip, COUNT(id) AS total 
FROM subscriptions 
WHERE status = 'A' 
GROUP BY SUBSTRING(zip, 1, 5)