加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite

发布时间:2020-12-13 00:17:49 所属栏目:百科 来源:网络整理
导读:在 SQLite数据库 中,提供了和 SQL Server 一样的排序和分组的 ORDER BY 和 GROUP BY 语句,以及 DISTINCT 的使用,本文介绍了这一部分使用的代码实例,接下来我们就一一介绍。 排序ORDER BY 列 ASC (DESC) 指定某个列进行排序,ASC 为升序,DESC 为降序。下

SQLite数据库中,提供了和SQL Server一样的排序和分组的ORDER BYGROUP BY语句,以及DISTINCT的使用,本文介绍了这一部分使用的代码实例,接下来我们就一一介绍。

排序ORDER BY 列 ASC (DESC)

指定某个列进行排序,ASC 为升序,DESC 为降序。下面的语句查询汽车品牌和价格,并以价格排序。代码如下:

 
 
  1. sqlite>
  2. sqlite>SELECTName,CostFROMCarsORDERBYCostDESC;
  3. NameCost
  4. -------------------
  5. Bent350000
  6. Merc57127
  7. Audi52642
  8. Humm41400
  9. Volv29000
  10. Volk21600
  11. Citr21000
  12. Skod9000
  13. sqlite>

区分DISTINCT 列

有一些字段的值可能会出现重复,比如订单表中,一个客户可能会有好几份订单,因此客户的名字会重复出现。

到底有哪些客户下了订单呢?下面的语句将客户名字区分出来。代码如下:

  1. sqlite>
  2. sqlite>Select*FROMOrders;
  3. IdOrderPriceCustomer
  4. ----------------------------------
  5. 11200Williamson
  6. 2200Robertson
  7. 340Robertson
  8. 41640Smith
  9. 5100Robertson
  10. 650Williamson
  11. 7150Smith
  12. 8250Smith
  13. 9840Brown
  14. 10440Black
  15. 1120Brown
  16. sqlite>
  17. sqlite>SELECTDISTINCTCustomerFROMORDERS;
  18. Customer
  19. ---------------
  20. Black
  21. Brown
  22. Robertson
  23. Smith
  24. Williamson
  25. sqlite>

分组GROUP BY 列

分组和前面的区分有一点类似。区分仅仅是为了去掉重复项,而分组是为了对各类不同项进行统计计算。

比如上面的例子,我们区分出 5 个客户,这 5 个客户一共下了 11 个订单,说明很多客户都下了不止一个订单。

下面的语句统计每个客户在订单上总共花费了多少钱。代码如下:

  1. sqlite>
  2. sqlite>SELECTsum(OrderPrice)ASTotal,CustomerFROMOrdersGROUPBYCustomer;
  3. TotalCustomer
  4. ------------------------------
  5. 440Black
  6. 860Brown
  7. 340Robertson
  8. 2040Smith
  9. 1250Williamson
  10. sqlite>

这里Sum 是SQLite 内置的统计函数,在这个例子中用来求每个顾客的订单价格的和。

统计结果也可以设定返回条件,但是不能用 WHERE 子句,而是用HAVING 子句,如下例,返回订单总额大于 1000 的顾客。代码如下:

  • ...>GROUPBYCustomerHAVINGsum(OrderPrice)>1000;
  • TotalCustomer
  • ------------------------------
  • 2040Smith
  • 1250Williamson
  • sqlite>
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读