繁体   English   中英

嵌套SQL聚合函数的语法

[英]Syntax of nested sql aggregate functions

我正在学习Codecademy上的 SQL

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

SELECT ROUND(AVG(price), 2)
FROM fake_apps;

ROUND()需要一个数字作为第一个参数,如何在此处插入AVG(price) 它的数据类型是什么?

如果我将代码更改为:

SELECT ROUND(SELECT AVG(price)
             FROM fake_apps, 2)
FROM fake_apps;

该代码引发语法错误。

以下代码给出语法错误,因为ROUND是标量函数。 它期望恰好一个值作为第一个参数。

SELECT ROUND(SELECT AVG(price)
             FROM fake_apps, 2)
FROM fake_apps;

从fake_apps中选择SELECT AVG(price)返回一组行。

另一方面, AVG是一个聚合函数。 它对一组行进行操作。 返回类型是数字。

我认为至少在您提供的需求示例中,它不需要嵌套的选择查询。 这也可以通过以下查询解决。

SELECT ROUND(  AVG (price), 2 ) FROM fake_apps

DataType应该是十进制或具有精度的数字(例如,数值(18,3))
让我知道我是否被解释为错误的问题并纠正我,所以我可以尝试另一种方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM