我有以下SQL,我想通过PHP在MySQL DB上运行。
错误
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
我真的很感谢能让我搬到这里的任何帮助。
答案 0 :(得分:0)
正如上面Barmer所建议的那样,代码有一个特殊的字符,这个字符不可见,它将查询分成两部分和一部分。因此问题。解决了这个问题。感谢Barmer