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
-
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中文网回答,权益归原著者所有;