Mysql 错误是什么1241操作数应该包含1列?
我有一个班级项目,我想根据他们的分数对我的数据进行排名 但是每次我在mysql上运行这个查询时,它总是给我错误1241 你有没有想过是什么原因造成的 我的问题是:Mysql 错误是什么1241操作数应该包含1列?,mysql,Mysql,我有一个班级项目,我想根据他们的分数对我的数据进行排名 但是每次我在mysql上运行这个查询时,它总是给我错误1241 你有没有想过是什么原因造成的 我的问题是: SELECT (SELECT gen_cityname, SUM(scc_bgyscoretotal) as score, @curRank := @curRank + 1 AS rank FROM bgyprofile b, (SELECT @curRank := 0) r WHERE gen
SELECT
(SELECT gen_cityname,
SUM(scc_bgyscoretotal) as score,
@curRank := @curRank + 1 AS rank
FROM bgyprofile b, (SELECT @curRank := 0) r
WHERE gen_provname = bgyprofile.gen_provname
GROUP BY gen_incomeyr, gen_cityname
ORDER BY score asc) AS provranks
FROM bgyprofile
GROUP BY bgyprofile.gen_incomeyr, bgyprofile.gen_cityname
它给出了错误1241,因为您的查询具有
SELECT (SELECT column1, column2 FROM t2) FROM t1;
正如他们在评论中所说,样本数据和对您期望的解释将非常有用。也许第一步是更改以SELECT*开头的查询,并在FROM之后的括号中移动SELECT,但是,我重复一遍,我需要更多的信息来理解正确的方法。我正在尝试对分数列进行排序。请提供所有相关表和预期输出的一些示例数据。最好在SELECT中设置子查询,因为它只能返回标量值。子查询返回一个表。谷歌一些子查询教程。