如何在mySQL中获得一行中的不同值及其各自的平均值作为输出

如何在mySQL中获得一行中的不同值及其各自的平均值作为输出,mysql,Mysql,我有一个100行6列的mySQL表;全名、姓名、分数、城市、性别、等级。我希望输出为一列,包含不同的城市值最初只有5个不同的城市&将添加他/她的城市的用户输入值,即;德里、孟买、巴特纳、钦奈、浦那和第二列各有其平均得分 数据库链接到我正在处理的python代码&使用存储在上述6列中的输入。然后根据用户请求,使用matplotlib将分析输出显示为图形。但我真的被困在这一部分,我需要显示一个图形,其中X值作为城市名称,Y值作为各自的平均分数。为此,我需要知道在mySQL中获得这样一个输出的查询,我

我有一个100行6列的mySQL表;全名、姓名、分数、城市、性别、等级。我希望输出为一列,包含不同的城市值最初只有5个不同的城市&将添加他/她的城市的用户输入值,即;德里、孟买、巴特纳、钦奈、浦那和第二列各有其平均得分

数据库链接到我正在处理的python代码&使用存储在上述6列中的输入。然后根据用户请求,使用matplotlib将分析输出显示为图形。但我真的被困在这一部分,我需要显示一个图形,其中X值作为城市名称,Y值作为各自的平均分数。为此,我需要知道在mySQL中获得这样一个输出的查询,我们得到了存储上述内容的两列

我该怎么做

这是你想要的吗?或者,如果要将结果作为一行,可以添加组\u CONCAT:

SELECT GROUP_CONCAT(X) AS gX,GROUP_CONCAT(Y) AS gY FROM
(SELECT city AS X,AVG(score) AS Y
    FROM yourtable GROUP BY city) g
好的,红牛帮你

正确语法:

我之前尝试执行的语法错误:


无论如何谢谢你

谢谢,那真的很有帮助!
SELECT GROUP_CONCAT(X) AS gX,GROUP_CONCAT(Y) AS gY FROM
(SELECT city AS X,AVG(score) AS Y
    FROM yourtable GROUP BY city) g
select city, avg(score) from data group by city;
select data.distinct(city), data.avg(score) , check.check_city from data, (select name, distinct(city) as check_city from data) check where data.name = check.name and data.city in check.check_city;