一个SQLite数据库的ORDER BY和GROUP BY代码实例
2023-03-31 11:10:34 时间
在SQLite数据库中,提供了和SQL Server一样的排序和分组的ORDER BY和GROUP BY语句,以及DISTINCT的使用,本文介绍了这一部分使用的代码实例,接下来我们就一一介绍。
排序ORDER BY 列 ASC (DESC)
指定某个列进行排序,ASC 为升序,DESC 为降序。下面的语句查询汽车品牌和价格,并以价格排序。代码如下:
- sqlite>
- sqlite> SELECT Name, Cost FROM Cars ORDER BY Cost DESC;
- Name Cost
- ---- ---------------
- Bent 350000
- Merc 57127
- Audi 52642
- Humm 41400
- Volv 29000
- Volk 21600
- Citr 21000
- Skod 9000
- sqlite>
区分DISTINCT 列
有一些字段的值可能会出现重复,比如订单表中,一个客户可能会有好几份订单,因此客户的名字会重复出现。
到底有哪些客户下了订单呢?下面的语句将客户名字区分出来。代码如下:
- sqlite>
- sqlite> Select * FROM Orders;
- Id OrderPrice Customer
- ---- --------------- ---------------
- 1 1200 Williamson
- 2 200 Robertson
- 3 40 Robertson
- 4 1640 Smith
- 5 100 Robertson
- 6 50 Williamson
- 7 150 Smith
- 8 250 Smith
- 9 840 Brown
- 10 440 Black
- 11 20 Brown
- sqlite>
- sqlite> SELECT DISTINCT Customer FROM ORDERS;
- Customer
- ---------------
- Black
- Brown
- Robertson
- Smith
- Williamson
- sqlite>
分组GROUP BY 列
分组和前面的区分有一点类似。区分仅仅是为了去掉重复项,而分组是为了对各类不同项进行统计计算。
比如上面的例子,我们区分出 5 个客户,这 5 个客户一共下了 11 个订单,说明很多客户都下了不止一个订单。
下面的语句统计每个客户在订单上总共花费了多少钱。代码如下:
- sqlite>
- sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders GROUP BY Customer;
- Total Customer
- --------------- ---------------
- 440 Black
- 860 Brown
- 340 Robertson
- 2040 Smith
- 1250 Williamson
- sqlite>
这里Sum 是SQLite 内置的统计函数,在这个例子中用来求每个顾客的订单价格的和。
统计结果也可以设定返回条件,但是不能用 WHERE 子句,而是用HAVING 子句,如下例,返回订单总额大于 1000 的顾客。代码如下:
- sqlite>
- sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders
- ...> GROUP BY Customer HAVING sum(OrderPrice)>1000;
- Total Customer
- --------------- ---------------
- 2040 Smith
- 1250 Williamson
- sqlite>
关于SQLite数据库的ORDER BY和GROUP BY语句的知识就介绍到这里,希望能给各位带来收获。
【编辑推荐】
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假