以下语句更新名为'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'进行更新“ –