使用过滤器选项的Google图表的MySQL查询百分比

使用过滤器选项的Google图表的MySQL查询百分比,mysql,google-visualization,Mysql,Google Visualization,我有一个查询,返回我需要的总体百分比: SELECT CAST(((count(LOWER(`q3`)='no')/(select count(`q3`) from `data`))*100) as decimal (10,2)) FROM `data` WHERE LOWER(`q3`)='no' 这将返回在第3列q3中表示no的百分比,并且是准确的(通过在Excel中运行数字进行验证)(第3列包含每条记录的Yes或no) 但是,我想在谷歌图表中按月份和位置显示这些数据,因此我稍微构

我有一个查询,返回我需要的总体百分比:

SELECT
    CAST(((count(LOWER(`q3`)='no')/(select count(`q3`) from `data`))*100) as decimal (10,2))
FROM `data`
WHERE LOWER(`q3`)='no'
这将返回在第3列
q3
中表示
no
的百分比,并且是准确的(通过在Excel中运行数字进行验证)(第3列包含每条记录的Yes或no)

但是,我想在谷歌图表中按月份和位置显示这些数据,因此我稍微构建了一个查询:

SELECT 
    DATE_FORMAT(date_submitted,'%b-%y') AS 'Month',
    CAST(((count(LOWER(`q3`)='no')/(select count(`q3`) from `data`))*100) as decimal (10,2)) AS 'MSO'
FROM `data` 
WHERE LOWER(`q3`)='no' AND store_list IN (5902) 
GROUP BY YEAR(date_submitted), MONTH(date_submitted)
ORDER BY YEAR(date_submitted) ASC, MONTH(date_submitted) ASC
这些数字不正确,去掉位置(这部分将在显示图表的最终网站中被替换,因此用一个数字输入看起来是错误的,但可能是一行的倍数)仍然会给我每月的总数错误的数字,去掉月份的内容会给我错误的位置总数(因此,很自然地,把它们都放在上面根本不起作用)

这一次我一直在抚摸胡须,但不确定我错在哪里,基本上需要以谷歌图表格式输出:


但我得到的数据是5月19日1.69、6月19日0.56和7月19日6.18=(

多亏了上面的@WhiteHat让我了解了这一点,我的计数不起作用(可能是MariaDB的事情,我用谷歌搜索过的MySQL格式尝试了它们,但不起作用),因此作为替代方案,一个案例的计数似乎起到了作用:

SELECT 
    DATE_FORMAT(date_submitted,'%b-%y') AS 'Month',
    CAST(((SUM(CASE WHEN LOWER(`q3`) = 'no' THEN 1 ELSE 0 END)/COUNT(*))*100) as decimal (10,2)) AS 'MSO'
FROM `data` 
WHERE store_list IN (5902) 
GROUP BY YEAR(date_submitted), MONTH(date_submitted)
ORDER BY YEAR(date_submitted) ASC, MONTH(date_submitted) ASC

如果有人在谷歌上遇到这个问题,那就是我如何解决的,谢谢你和我谈清楚了!

你没有限制到一个月,这里-->
select count('q3'))根据“数据”
hmm,我的理解是按年/月分组可以做到这一点,我将对此进行研究-谢谢,因为您正在执行一个单独的select语句,这可能不需要,您可能只需要-->
计数(
q3
谢谢@WhiteHat没有单独的选择,虽然我每个月只得到100个-我已经尝试删除
较低的(
q3
)='no'
只保留商店过滤器,仍然得到100个Hmm,返回几步,看起来我的计数不起作用-MSO实际上是总数(第三季度应该是多少)这是双倍的。回到抚摸胡须。。