Php 基于每月的结果查询
我有一个查询,可以根据每个月和国家获得购买物品的数量Php 基于每月的结果查询,php,mysql,Php,Mysql,我有一个查询,可以根据每个月和国家获得购买物品的数量 SELECT COUNT( `country` ) as item, `country`, MONTH(purchase_date) AS Month, YEAR( purchase_date) AS year FROM charmy_purchase WHERE YEAR(purchase_date)='20112' GROUP BY country,MONTH(pur
SELECT COUNT( `country` ) as item,
`country`,
MONTH(purchase_date) AS Month,
YEAR( purchase_date) AS year
FROM charmy_purchase
WHERE YEAR(purchase_date)='20112'
GROUP BY country,MONTH(purchase_date)
ORDER BY country ASC
我得到了这个结果
item country Month year
2 India 5 2012
1 India 6 2012
1 Malasiya 5 2012
3 Singapure 1 2012
1 Singapure 4 2012
我不想让“议会”重复。有没有办法做到这一点。不清楚您希望得到什么样的输出。但您可以按国家、月份(购买日期)从
组中删除月份(购买日期)
:
这将给你不同的国家。但如果一个国家有更多的机会,它也会给你任何月份和年份
编辑
如果希望月份和年份以逗号分隔的方式列在一行中,请尝试以下操作:
SELECT COUNT( `country` ) as item,
`country`,
group_concat(MONTH(purchase_date)) AS Months,
YEAR( purchase_date) AS year
FROM charmy_purchase
WHERE YEAR(purchase_date)='2012'
GROUP BY country
ORDER BY country ASC
请参见此示例:尝试分组,如下所示:
SELECT COUNT( `country` ) as item,
`country`,
GROUP_CONCAT(MONTH(purchase_date)) AS Months,
YEAR( purchase_date) AS year
FROM charmy_purchase
WHERE YEAR(purchase_date)='2012'
GROUP BY country
ORDER BY country ASC
您希望结果集看起来像什么?不太清楚。按国家、月份(购买日期)从组中删除月份(购买日期)
。这就是你想要的吗?是的,我得到了不同的国家,但是对于所有项目,默认情况下显示为5月。@Raj:那么你希望得到什么样的产出呢?我希望国家(印度,…)每个月也只能单独出现一次。例:印度,项目(2,1),月(5,6)是的,没错,但项目只是增加了。我想要的物品是monthEx:item(0,1)@Raj:我不知道你的意思。用预期输出的适当示例更新您的问题。在月份字段中,我得到“[BLOB-5b]、[BLOB-1b]、[BLOB-13b]”。我不知道这是什么意思。项目刚刚添加(1+2)
SELECT COUNT( `country` ) as item,
`country`,
GROUP_CONCAT(MONTH(purchase_date)) AS Months,
YEAR( purchase_date) AS year
FROM charmy_purchase
WHERE YEAR(purchase_date)='2012'
GROUP BY country
ORDER BY country ASC