每个办公室邮政编码的 MySQL 查询频率

标签 mysql sql database count frequency

我正在尝试编写一个 MySQL 查询,以查看哪些邮政编码对我们的客户来说最常出现,并且需要帮助来完成它。我的 select 语句末尾的 office 字段可以是每个邮政编码 1 到 10 种可能性。

我将如何修复此查询以获得最常见的邮政编码以及 10 个可能的办公室中哪些碰巧在该邮政编码中有一个位置?

SELECT SUBSTRING(zip_code, 1, 5) AS zip, 
COUNT(*) AS freq, office
FROM customer_billing 
WHERE status != 'deleted'
GROUP BY zip
ORDER BY freq DESC

我正在寻找的示例输出:

zip     freq     office
----    ----     ----
92101    450     office_A, office_B
02124    300     office_A, office_C, office_D
07713    110     office_B

最佳答案

GROUP_CONCATDISTINCT 一起使用。使用 DISTINCT 是必要的,因为对于给定的邮政编码,给定的办公室可能会出现多次。

SELECT SUBSTRING(zip_code, 1, 5), COUNT(*) AS freq,
    GROUP_CONCAT(DISTINCT office ORDER BY office DESC SEPARATOR ',')
FROM customer_billing
WHERE status != 'deleted'
GROUP BY SUBSTRING(zip_code, 1, 5)
ORDER BY freq DESC

关于每个办公室邮政编码的 MySQL 查询频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37018648/

相关文章:

mysql - 如何找到一个 id,两个相同的变量和不同的值

php - 使用 var_dump,值没有以正确的格式返回

sql - 我需要在 sql 中做一个 View ,返回每个公司的最新发票日期

mysql - 查询加载时间过长

mysql - 使用嵌套查询和内连接清理 SQL 查询

mysql - 无法使用 Visual Basic 形式插入 mysql 数据库

php - 如何将两个sql查询合并为一个具有可变限制的sql查询

sql - 使用 postgres 过滤 jsonb 上的数据

python - 如何将图像文件保存在 Postgres 数据库中?

arrays - 将数组保存到数据库 cakephp