在这里遇到了一些问题。我不能为我的生活,找出如何做到这一点。计算多个月的不同值
pid | firstlast | lastvisit | zip
---------------------------------------
435 | 2001-01-17 | 2012-01-21 | 46530
567 | 2001-01-18 | 2012-01-21 | 46530
532 | 2001-01-19 | 2012-01-22 | 46535
536 | 2001-01-19 | 2012-01-23 | 46535
539 | 2001-01-20 | 2012-01-27 | 46521
这里是我的SQL查询:
SELECT DISTINCT zip, COUNT(zip) AS totalzip FROM production WHERE MONTH(lastvisit) = "1" GROUP BY zip ORDER BY totalzip DESC;
输出:
扬:
zip | totalzip
---------------------
46530 | 2
46535 | 2
46521 | 1
二月:
zip | totalzip
---------------------
46530 | 1
46521 | 4
49112 | 3
这对第一个月来说很棒,但我需要整整一年。我可以运行此查询12次,但会出现2个问题。全年我有超过300个邮政编码。在某些月份,邮政编码不存在,因此计数为0(但MySQL输出不输出“零数据”。此外,当我通过totalzip订购时,订单每个月都会发生变化,而这并不允许我将它们粘贴到电子表格中,我可以通过邮政编码进行订购,但“零”数据邮政编码不存在,因此列表每月变化不定。 !
感谢您的帮助球员。使用你的一些想法,我能够进一步发展。尽管如此,我仍然遇到了获取格式良好的数据的问题。 SELECT * FROM生产 INNER JOIN (SELECT DISTINCT拉链,COUNT(拉链)AS扬从生产WHERE MONTH(lastvisit)= “1” GROUP BY拉链)AS JanCount ON (production.zip = JanCount。拉链) INNER JOIN (SELECT DISTINCT拉链,COUNT(拉链)AS二月从生产WHERE MONTH(lastvisit)= “2” GROUP BY拉链)AS FebCount ON (production.zip = FebCount.zip) 但我得到了重复的记录。 – user1532528 2012-07-17 18:52:53
我只是一个基本的mysql用户,所以我不确定这些连接是如何工作的以及为什么数据在重复。 我需要的是这样的排: 46516:71 | 45 | 32 | 45 | 12 | 66 | 55 | 32 | 22 | 66 | 71 | 12 (每个数字代表一个月的计数(1月 - 12月) – user1532528 2012-07-17 18:54:22
检查我的答案...这会给你你需要的东西 – Barranka 2012-07-17 20:28:38