我有一个保存订阅信息的表。有些邮寄邮政编码是 5 位数字,有些是 9 位(55025 与 55025-4056)。我想运行一个查询来计算每个邮政编码的订阅总数,但需要将 9 位数字与匹配的 5 位数字分组。
SELECT zip, COUNT(id) AS total FROM subscriptions WHERE status = 'A' GROUP BY zip
但显然它会将 55025 和 55025-4056 读作两个不同的邮政编码。如果 55025 有 100 条记录,55025-4056 有 10 条记录,我希望结果显示 55025 = 110 条记录。如何执行此查询以按邮政编码的前 5 位数字进行分组?
谢谢
最佳答案
SELECT LEFT(zip,5) zip, COUNT(id) AS total
FROM subscriptions WHERE status = 'A'
GROUP BY LEFT(zip,5);
关于MySQL 按邮政编码分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438661/