【问题标题】:Pass a Running Total query using CodeIgniter使用 CodeIgniter 传递 Running Total 查询
【发布时间】:2013-08-05 19:56:13
【问题描述】:

我正在使用 CodeIgniter 并尝试运行查询,但它不起作用。我相信该错误与SET @runtot:=0; 行有关。代码如下:

<?php 
$qryRunningTotalRFRs = $this->db->query("
SET @runtot:=0;
SELECT
   q1.w,
   q1.c,
   (@runtot := @runtot + q1.c) AS rt
FROM
(SELECT week(IssuesFiledDate) AS w,
count(*) AS c
FROM tblappeals
WHERE tblappeals.Outcome = 'Upcoming' 
    AND tblappeals.`Year` = 2013  
    AND `IssuesFiledDate` >= '2013-03-31'
GROUP BY w
ORDER BY w ) 
AS q1
"); ?>

有人可以建议一种方法来修改它,以便我可以将这个运行总和查询传递给 MySQL 吗?谢谢。

【问题讨论】:

  • @runtot 是你的数据库字段名吗??
  • 不,@runtot 只是“运行总计”的缩写。我刚刚意识到,也许我下面的答案不正确,因为我没有得到我预期的结果。未计算运行总数。我想我又回到了绘图板上。

标签: mysql sql codeigniter cumulative-sum


【解决方案1】:

我在question 上阅读了以下评论:

不要错过顶部的 SET 语句,以首先初始化运行总变量,否则您只会得到一列 NULL 值。

出于这个原因,我认为 SET 语句是我的查询正常工作所必需的。问题是,查询不会与 SET 语句一起运行。我删除了 SET 语句,现在它工作正常。无论出于何种原因,我想在这种情况下不需要 SET 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2011-07-07
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多