mysql> select*from score; +-------------+--------+-------+-------+ | S_no | C_no | daily | final | +-------------+--------+-------+-------+ | 18122221320 | a01564 | 88 | 93 | | 18122221320 | c06108 | 92 | 90 | | 18122221320 | c08123 | 85 | 95 | | 18122221321 | c06108 | 70 | 82 | | 18122221321 | c08123 | 85 | 94 | | 18122221322 | a01327 | 53 | 50 | | 18122221322 | a01564 | 64 | 50 | | 18122221322 | c08123 | 60 | 64 | | 18122221323 | a01564 | 88 | 84 | | 18122221323 | c05103 | 85 | 86 | | 18122221324 | c05103 | 95 | 86 | | 18122221324 | c08123 | 77 | 81 | | 18122221325 | c05103 | 88 | 90 | +-------------+--------+-------+-------+ 13 rows in set (0.00 sec)mysql> SELECT S_no, AVG(final) AS average_score, SUM(final) / COUNT(*) AS final_score -> -> FROM score -> -> WHERE final > 275 -> -> GROUP BY S_no; Empty set (0.00 sec)

P粉955425168
P粉955425168
2023-10-19 0浏览

你的问题似乎是在使用MySQL查询时遇到了问题。你尝试使用SELECT语句来从score表中选择一些数据,并使用AVG(final)SUM(final) / COUNT(*)来计算一些平均值和总分数。然而,你得到的查询结果为空集。

首先,我注意到你的查询语句中存在一些语法错误。在MySQL中,你应该使用AS关键字来为列或表达式起别名。此外,你需要在WHERE子句中使用括号来包围逻辑运算符。

根据你的需求,我修改了你的查询语句如下:

SELECT S_no, AVG(final) AS average_score, SUM(final) / COUNT(*) AS final_score 
FROM score 
WHERE final > 275 
GROUP BY S_no;

这个查询语句应该能够按照S_no分组,并计算每个分组的平均分数和总分数。如果结果为空集,那么可能的原因是score表中没有满足条件的记录。你可以检查你的数据表是否包含满足条件的记录。

如果你仍然遇到问题,或者需要进一步的帮助,请提供更多的信息,我会很乐意帮助你。

php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;