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