o-andy-o

SQL count()函数与sum()函数

count()

COUNT() 函数返回匹配指定条件的行数。SELECT COUNT(column_name) FROM table_name 

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)

1.SELECT COUNT(Customer) AS CustomerNilsen FROM Orders                           返回CustomerNilsen表中customer字段有值的行数的统计数
2.SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer=\'Carter\' 返回CustomerNilsen表中customer字段有值的行数的统计数,并且值是\'Carter\'
3.SELECT age,name,COUNT(1) AS CustomerNilsen FROM Orders 
WHERE name=\'张三\' group by age,name 返回CustomerNilsen表中customer字段有值的行数的统计数,并且值是\'张三\',但是为什么要加,group by column_name
原因如下:
Student有列:ID,Name,Age
            1,张三,18
            2,李四,19
            3,王五,20
            4,赵六,21
按照第三条sql:查出结果是
age name count(1)
20 王五 1
21 赵六 1
18 张三 1
19 李四 1
Student有列:ID,Name,Age
            1,张三,18
            2,张三,19
            3,王五,20
            4,赵六,21
表的数据变成上面,你想如果不group by,ID为1和2的name相同,ID为1的age是显示18了,还是19了,ID为2的age是显示19了,还是18了其实第一次表的数据不group by age没事,因为name都不相同,但是
第二次表的数据的,name有相同的,错误上面指出了,为避免这张情况,系统是没有这么智能的,所以用了聚集函数的sql语句规定都得group by 查询的字段



sum():
SUM() 函数返回数值列的总数(总额)。SELECT SUM(column_name) FROM table_name


因为每次用到的时候,好像理解,但是隔一段时间去用的时候,又得花一段时间去消化,其实就是没有彻底的理解,
所以今天特地花一段时间来研究下,也不知道解释的合不合理,请各位对这方面熟悉的高手,也给我指点指点,感激不尽

分类:

技术点:

相关文章:

  • 2021-08-05
  • 2021-12-01
  • 2022-01-12
  • 2021-10-02
  • 2021-10-02
  • 2021-08-18
  • 2021-07-21
猜你喜欢
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-10-02
  • 2021-08-03
相关资源
相似解决方案