0
我有以下SQL,我想通过PHP在MySQL数据库上运行。PHP - 在SQL查询中传递mysql @variable
错误
syntax error check the
manual that corresponds to your MySQL server version for the right syntax to use near '@rn := if(@prevDate=eve_date
SQL
SELECT eve_date,
cust_name,
item_id,
Sum(item_bundle_size) sumsize
FROM (SELECT eve_date,
cust_name,
item_id,
item_bundle_size,
@rn := IF(@prevdate = eve_date, IF (@previtem = item_id, @rn,
IF (@previtem := item_id, @rn + 1
, @rn +
1)),
IF
(@prevdate := eve_date,
IF (@previtem := item_id, 1, 1), 1
)
) rn
FROM cust_sales_hist
CROSS JOIN (SELECT @rn := 0,
@prevdate := NULL,
@previtem := NULL) t
WHERE cust_name = 'Cust1'
AND eve_date BETWEEN '2015-08-01' AND '2015-08-05'
ORDER BY eve_date,
item_bundle_size DESC) t
WHERE rn <= 4
GROUP BY eve_date,
cust_name,
item_id
ORDER BY eve_date,
cust_name,
sumsize DESC
我抬起头,所以该通知关于将查询分成几个部分的例子。然而,就我而言,由于输出的要求,看起来我必须将其作为一个整体运行。这个查询的SQL小提琴在这里是在需要的情况下 - http://sqlfiddle.com/#!9/3a5d08/5
我真的很感谢任何帮助让我搬到这里请。
那么,你的php代码在哪里? –
对不起。没有意识到我没有这样做。将在几分钟内更新这个问题。 – usert4jju7
@u_mulder - 实际上,把代码放在这里是很难的,我使用一个类来管理数据库的东西。我有超过100个查询,我已经与退出系统工作。所以,SQL执行系统。我经历了SQL准备,SQL执行和SQL提取结果的阶段。目前情况下的问题只是'@'符号。如果你能指导我有没有办法逃避它,那就太棒了。我也尝试过'\ @'希望它能起作用(没有真正的逻辑,只是尝试了几件事),但它并不明显。 – usert4jju7