所以我需要生成一些仪表板,这些仪表板大部分依靠MySQL中的总和查询来工作。Rails Activerecord + MySQL查询没有给出结果我期望
这里是在模型中轨查询:
def self.search_three(dyear)
find_by_sql("SELECT quantity, model,
SUM(IF(status = 'Completed',quantity,0)) AS Comp,
SUM(IF(status = 'Shipped',quantity,0)) AS Ship,
SUM(IF(status = 'Cart Submitted',quantity,0)) AS CS,
SUM(quantity) AS total
FROM orders
WHERE YEAR(needby) = '#{dyear}'
GROUP BY model")
end
它的工作原理,但问题是,在轨控制台输出是不是我所期望得到的仪表板。
[#,#,#]作为输出,如果我分配d年(这是来自其他地方的输入),以2015年
然而,在MySQL工作台当我这样做:
SELECT quantity,
SUM(IF(status = 'Completed',quantity,0)) AS Comp,
SUM(IF(status = 'Shipped',quantity,0)) AS Ship,
SUM(IF(status = 'Cart Submitted',quantity,0)) AS CS,
SUM(quantity) AS total
FROM orders
WHERE YEAR(needby) = '2015'
GROUP BY model
我得到
{| !数量|| !Comp ||!Ship || !CS || !共 | - | 40 || 8810 || 0 || 1081 || 19181 ||连接器 | - | 118 || 318 || 0 || 0 || 955 || EU Cords | - | 256 || 548 || 0 || 0 || 3944 ||美国线 |}
我需要显示的图表是总列和图表显示的是上述不正确的数量。
如何获得使用AS总数作为输出而不是第一列的rails查询?
我猜mediawiki表格布局的东西不起作用。底线是轨道查询正在使用数量为40,118和256的第一列,而不是使用所有这些数量之和的总和。 如何让它使用查询的总列(这是一个临时列)。 – Shenanigator