zoukankan      html  css  js  c++  java
  • SqlServer--聚合函数

    --聚合函数默认把整个表中的数据当做“一组”,然后才进行的统计。

    select * from NewPerson

    --统计出所有人的年龄的总和

    select sum(age) as 年龄总和 from NewPerson

    --统计当前表中一共有多少条记录

    select count(*) from NewPerson

    --计算平均年龄

    select 平均年龄=(select sum(age) as 年龄总和 from NewPerson)*1.0/(select count(*) from NewPerson)

    --计算年龄最大的

    select max(age) from NewPerson

    --年龄最小的

    select min(age) from NewPerson

    --计算平均值avg

    select avg(age*1.0) from NewPerson

    --聚合函数不统计空值,直接忽略,而不是将其作为“0”参与计算。

    --GROUP BY的使用注意事项

    1、分组列中若有NULL,这也将作为一组,且NULL值排在最前面

    2、除汇总函数计算语句外,SELECT中的选择列必须出现在GROUP BY 中

    3、GROUP BY 可以包含任意数目的列,可以嵌套

    --2.如果使用聚合函数的时候,没有手动group by分组,那么聚合函数会把整个表中的数据作为一组来统计

    --查询没有及格的学生(假设:数学或英语,只要有一门没有及格就叫做没有及格)的学号

    select * from TblScore

    select tsid from TblScore where tEnglish<60 or tMath<60

    --查询年龄在20-30岁之间的男学生(包含)

    select * from MyStudent

    select * from MyStudent  where fage>=20 and fage<=30 and fgender='男'

    --Between…and …   在...之间,(闭区间,包含两个端点值)

    select * from MyStudent where fage between 20 and 30 and fgender='男'

    select * from TblStudent

    --查询出所有班级Id为3,4,5的那些学生

    select *  from TblStudent where tsclassId=3 or tsclassId=4 or tsclassId=5

    select *  from TblStudent where tsclassId in (3,4,5)

    --19,1,27,86   

    select *  from TblStudent where tsclassId in (19,1,27,86)

    --对于in或者or 查询,如果查询中的条件是连续的几个数字,最好使用>=  <=或者between...and不要使用or或者in。提高效率

    select *  from TblStudent where tsclassId >=3 and tsclassId<=5

  • 相关阅读:
    数据库的范式
    数据库的事务
    cookie和session以及区别
    Java交换排序:冒泡排序和快速排序
    Java面向对象中:方法重载和方法重写以及区别、 this关键字和super关键字以及区别
    电子设备产品可靠性测试
    软件测试思考笔记(The beauty of software testing)
    常见软件系统架构解决方案
    常见计算机系统架构
    性能测试
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/6185260.html
Copyright © 2011-2022 走看看