嵌套SQL聚合函数的语法

时间:2018-09-16 02:26:03

标签: sql

我正在codecademy上学习SQL

有一个嵌套的聚合函数示例:

int z = (int)x;

int z = (int)x-'0';需要一个数字作为第一个参数,如何在此处插入SELECT ROUND(AVG(price), 2) FROM fake_apps; ?它的数据类型是什么?

如果我将代码更改为:

ROUND()

代码抛出语法错误。

2 个答案:

答案 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))
让我知道我是否被解释为错误的问题并纠正我,所以我可以尝试另一种方法。