Mysql 错误是什么1241操作数应该包含1列?

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

我有一个班级项目,我想根据他们的分数对我的数据进行排名 但是每次我在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_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中设置子查询,因为它只能返回标量值。子查询返回一个表。谷歌一些子查询教程。