我正在codecademy上学习SQL
有一个嵌套的聚合函数示例:
int z = (int)x;
int z = (int)x-'0';
需要一个数字作为第一个参数,如何在此处插入SELECT ROUND(AVG(price), 2)
FROM fake_apps;
?它的数据类型是什么?
如果我将代码更改为:
ROUND()
代码抛出语法错误。
答案 0 :(得分:1)
以下代码给出语法错误,因为ROUND是标量函数。它期望恰好一个值作为第一个参数。
SELECT ROUND(SELECT AVG(price)
FROM fake_apps, 2)
FROM fake_apps;
Fake_apps的SELECT AVG(price)返回一组行。
另一方面,AVG是一个聚合函数。它对一组行进行操作。返回类型是数字。
答案 1 :(得分:0)
至少在您提供的需求示例中,我认为它不需要嵌套的选择查询。也可以通过以下查询解决。
SELECT ROUND( AVG (price), 2 ) FROM fake_apps
DataType应该是十进制或精确的数字(例如,数值(18,3))
让我知道我是否被解释为错误的问题并纠正我,所以我可以尝试另一种方法。