以下語句更新名爲'test'的表中的列。 將UPDATE語句轉換爲SELECT語句
UPDATE test AS t
INNER JOIN test AS q ON(
q.ptime = t.ptime
)
SET t.slope_Percentile =(
(
SELECT
count(*)
FROM
(
SELECT
*
FROM
test
)AS t1
WHERE
t1.slope < t.slope
)* 100 /(
SELECT
count(*)
FROM
(
SELECT
*
FROM
test
) AS tz
)
);
不是更新該列的我想收到的SELECT語句給每個行的讀數(如果它是一個UPDATE語句將被更新)。
的更多信息(如果需要)對錶的性質和代碼的目的是在這裏: Efficient assignment of percentile/rank in MYSQL
你應該先修復查詢...你是在表中'q'加盟,但你永遠不使用查詢。當'select count(*)from test'會做時,你正在做'select count(*)from(select * from test)'。 – Guffa
這實際上不適用於MYSQL。它表示「」你不能在FROM子句中指定目標表'test'進行更新「 –