14,954
edits
| Line 73: | Line 73: | ||
解決方案:只保留一個表名 'column_name' 或添加表名別名。 | 解決方案:只保留一個表名 'column_name' 或添加表名別名。 | ||
=== 錯誤 1054 - 'where 子句' 中未知的欄位 === | |||
訊息:[Err] 1054 - 'where 子句' 中未知的欄位 'xxx' | |||
解決方案: | |||
# 檢查 'xxx' 欄位名稱是否存在 | |||
# 如果 'xxx' 欄位名稱是由 [http://dev.mysql.com/doc/refman/5.7/en/example-user-variables.html 使用者定義的變數] 計算得出。將整個查詢放入另一個母查詢中。 | |||
<pre> | |||
-- 遇到錯誤訊息的查詢:[Err] 1054 - 'where 子句' 中未知的欄位 'rank' | |||
SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank` | |||
FROM | |||
( | |||
... | |||
) semi | |||
WHERE semi.rank <= 10 | |||
</pre> | |||
將整個查詢放入另一個母查詢中。 | |||
<pre> | |||
SELECT final.* | |||
FROM | |||
( | |||
SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank` | |||
FROM | |||
( | |||
... | |||
) semi | |||
) final | |||
WHERE final.rank <= 10 | |||
</pre> | |||
== 資源和環境錯誤 == | == 資源和環境錯誤 == | ||