SQL基础教程(第2版)第3章 聚合与排序:练习题
2024-09-01 13:59:25
存在以下 3 个错误。
1.使用了字符类型的列(product_name)作为 SUM 函数的参数。
>> 解答
SUM 函数只能使用数值类型的列作为参数。 2. WHERE 子句写在了 GROUP BY 子句之后。
>> 解答
WHERE 子句必须写在 GROUP BY 子句之前。 3. SELECT 子句中存在 GROUP BY 子句中未指定的列(product_id)。
>> 解答
使用 GROUP BY 子句时,书写在 SELECT 子句中的列有很多限制。 GROUP BY
子句中未指定的列不能书写在 SELECT 子句之中。 在 WHERE 子句中指定 regist_date 的大小关系作为条件并没有什么问题。
存在以下 3 个错误
子句的书写顺序 ,1. SELECT → 2. FROM → 3. WHERE → 4. GROUP BY
SELECT product_type, SUM(sale_price), SUM(purchase_price)
FROM Product
GROUP BY product_type
HAVING SUM(sale_price) > SUM(purchase_price) * 1.5;
本习题中是登记日期(NULL 排在开头还是末尾会根据 DBMS 不同而不同,无需考虑)。因此我们能够推断出首先是按照登记日期的降序进行排序的。
接下来,对于日期相同的记录,例如同为“2009-09-20”的 3 条记录,可以看出是按照销售单价的升序进行排序的。
SELECT *
FROM Product
ORDER BY regist_date DESC, sale_price;
最新文章
- 【集合框架】JDK1.8源码分析之LinkedHashMap(二)
- pip install 安装python-requests
- 如何利用Cron让django应用定期执行
- RunLoop的深入了解
- 堆栈指针 ---delete 使用
- spring mvc官网下最新jar搭建框架-静态资源访问处理-注解-自动扫描
- Super关键字
- HDU4436---str2int 后缀树组(12年天津区域赛)
- Mac中QT程序发布
- 栈实现java
- 理解JavaScript中的作用域
- 关于Frame加背景的那点事?
- 十八、Hadoop学记笔记————Hbase架构
- HTML5_canvas_线性渐变
- 项目里如何访问AppDelegate
- one_code=soup.find('a',href=re.compile(r";ill";)) NameError: name 're' is not defined
- CSU 1849 Comparing answers(数学矩阵)
- topcoder srm 679 div1
- 【Redis】Redis学习(七) Redis 持久化之RDB和AOF
- 04-老马jQuery教程-DOM节点操作及位置和大小
热门文章
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-star-empty
- C++面试常见问题——09static关键字
- JS - 查找字符串中的某个值,截取其之前。和之后的值
- Python+Selenium中级篇之8-Python自定义封装一个简单的Log类《转载》
- Andriod studio 汉化教程
- opencv目录(转)
- linux命令之strace简单使用
- 《ES6标准入门》(阮一峰)--2.let 和 const 命令
- mac允许“任何来源”下载的应用
- Java compare方法和compareTo方法