数据库中sum的用法
转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站
数据库中sum的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中sum的用法的用法,希望对你们有用。
数据库中sum的用法的用法如下:
根据BOL中解释COUNT用来返回组中的项数。
COUNT(*)返回组中的项数。包括 NULL 值和重复项
COUNT(ALL expression):对组中的每一行都计算 expression 并返回非空值的数量。默认值。
COUNT(DISTINCT expression):对组中的每一行都计算 expression 并返回唯一非空值的数量。
ID Value
----------- --------------------------------------------------
1 A
2 B
2 B
3 B
4 NULL
select COUNT(* ) from Table_1
-----------
5
SELECT COUNT(Value) FROM Table_1
-----------
4
SELECT COUNT(DISTINCT Value) FROM Table_1
-----------
2
SUM返回表达式中所有值的和或仅非重复值的和。SUM 只能用于数字列。空值将被忽略
ID Value
----------- -----------
1 1
2 2
3 3
4 4
5 NULL
6 5
7 5
SELECT SUM(Value) From Table_1
-----------
20
SELECT SUM(DISTINCT Value) From Table_1
-----------
15
以Northwind数据库中的Employees,Orders表为例,列出所有雇员的姓名以及其拥有的Order的个数。分别用Count()和SUM()实现。
SELECT e.EmployeeID,FirstName,LastName,Count(O.EmployeeID) AS OrderCount
FROM dbo.Employees AS E LEFT JOIN dbo.Orders AS O
ON E.EmployeeID = O.EmployeeID
Group By E.EmployeeID,FirstName,LastName
SELECT e.EmployeeID,FirstName,LastName,SUM(CASE WHEN O.EmployeeID IS NULL THEN 0 ELSE 1 END) AS OrderCount
FROM dbo.Employees AS E LEFT JOIN dbo.Orders AS O
ON E.EmployeeID = O.EmployeeID
Group By E.EmployeeID,FirstName,LastName
注意的是这里一定不能用COUNT(*),因为COUNT(*)是计算行数,对于没有定单的用户也是为1。只有在JOIN的情况下,COUNT(*)才等效于Count(O.EmployeeID
附:这两个表的定义。
USE [Northwind]
GO
/****** Object: Table [dbo].[Employees] Script Date: 01/13/2012 22:57:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Employees](
[EmployeeID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [nvarchar](20) NOT NULL,
[FirstName] [nvarchar](10) NOT NULL,
[Title] [nvarchar](30) NULL,
[TitleOfCourtesy] [nvarchar](25) NULL,
[BirthDate] [datetime] NULL,
[HireDate] [datetime] NULL,
[Address] [nvarchar](60) NULL,
[City] [nvarchar](15) NULL,
[Region] [nvarchar](15) NULL,
[PostalCode] [nvarchar](10) NULL,
[Country] [nvarchar](15) NULL,
[HomePhone] [nvarchar](24) NULL,
[Extension] [nvarchar](4) NULL,
[Photo] [image] NULL,
[Notes] [ntext] NULL,
[ReportsTo] [int] NULL,
[PhotoPath] [nvarchar](255) NULL,
CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED
(
[EmployeeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[Employees] WITH NOCHECK ADD CONSTRAINT [FK_Employees_Employees] FOREIGN KEY([ReportsTo])
REFERENCES [dbo].[Employees] ([EmployeeID])
GO
ALTER TABLE [dbo].[Employees] CHECK CONSTRAINT [FK_Employees_Employees]
GO
ALTER TABLE [dbo].[Employees] WITH NOCHECK ADD CONSTRAINT [CK_Birthdate] CHECK (([BirthDate] < getdate()))
GO
ALTER TABLE [dbo].[Employees] CHECK CONSTRAINT [CK_Birthdate]
GO
USE [Northwind]
GO
/****** Object: Table [dbo].[Orders] Script Date: 01/13/2012 23:02:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Orders](
[OrderID] [int] IDENTITY(1,1) NOT NULL,
[CustomerID] [nchar](5) NULL,
[EmployeeID] [int] NULL,
[OrderDate] [datetime] NULL,
[RequiredDate] [datetime] NULL,
[ShippedDate] [datetime] NULL,
[ShipVia] [int] NULL,
[Freight] [money] NULL,
[ShipName] [nvarchar](40) NULL,
[ShipAddress] [nvarchar](60) NULL,
[ShipCity] [nvarchar](15) NULL,
[ShipRegion] [nvarchar](15) NULL,
[ShipPostalCode] [nvarchar](10) NULL,
[ShipCountry] [nvarchar](15) NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED
(
[OrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Orders] WITH NOCHECK ADD CONSTRAINT [FK_Orders_Customers] FOREIGN KEY([CustomerID])
REFERENCES [dbo].[Customers] ([CustomerID])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Customers]
GO
ALTER TABLE [dbo].[Orders] WITH NOCHECK ADD CONSTRAINT [FK_Orders_Employees] FOREIGN KEY([EmployeeID])
REFERENCES [dbo].[Employees] ([EmployeeID])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Employees]
GO
ALTER TABLE [dbo].[Orders] WITH NOCHECK ADD CONSTRAINT [FK_Orders_Shippers] FOREIGN KEY([ShipVia])
REFERENCES [dbo].[Shippers] ([ShipperID])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Shippers]
GO
ALTER TABLE [dbo].[Orders] ADD CONSTRAINT [DF_Orders_Freight] DEFAULT (0) FOR [Freight]
GO
数据库中sum的用法相关推荐
- 数据库中sum的用法浅述
转自:微点阅读 https://www.weidianyuedu.com 数据库中sum的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中sum的用法的用法,希望对你们有用. 数据库中sum的 ...
- 说说数据库中sum的用法
转载自品略图书馆 http://www.pinlue.com/article/2020/03/3100/0210073883113.html 数据库中sum的用法的用法你知道吗?下面小编就跟你们详细介 ...
- 数据库中sum的详细用法介绍
转自:微点阅读 https://www.weidianyuedu.com 数据库中sum的用法的用法你知道吗?下面微点阅读小编就跟你们详细介绍下数据库中sum的用法的用法,希望对你们有用. 数据库中 ...
- Oracle数据库中SQL语句用法(一)
Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...
- full join 和full outer join_带你了解数据库中JOIN的用法
前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 本章主要介绍数据库中Join的的用法,也是我们在使用数据库时非常基础的一个知识点.本次会介绍数据库 ...
- mysql in从数据库取数_MySQL数据库中 where in 用法详解
本文主要向大家介绍了MySQL数据库中 where in 用法详解,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这里分两种情况来介绍 WHERE column IN (valu ...
- 数据库中top的用法
转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站 数据库中top的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中top的用法的用法,希望 ...
- mysql 中default什么意思_数据库中default的用法正确使用方法
数据库中default的用法的正确使用方法你清楚吗,今天学习啦小编就跟大家详细介绍下数据库中default的用法,希望能帮到大家. 数据库中default的用法的用法 SQL Server数据库def ...
- top在mysql中的意思_数据库中top的用法
数据库中top的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中top的用法的用法,希望对你们有用. 数据库中top的用法的用法如下: 在编写程序中,我们可能遇到诸如查询最热门的5篇文章或返回满 ...
最新文章
- 微软、IBM们的中国研究院是怎样一步步“躺平”的?
- webbrowser 百度列表点击_前嗅ForeSpider采集教程:关键词的「检索列表」采集「检索结果」...
- 蔡超:入门 Go 语言必须跨越的五个思维误区
- ubuntu切换python,以及切换python后相关包的管理
- YbtOJ#20068-[NOIP2020模拟赛B组Day5]连通子图【构造】
- JavaScript流程分支结构(1)
- java 标识变量_Java变量与数据类型之一:Java编程规范,关键字与标识符
- L1-035 情人节 (15 分)—团体程序设计天梯赛
- creo减速器建模实例,减速箱proE整体及零件图
- 货币代码php,在PHP中获取货币符号
- 用ffmpeg将mp3转为wav
- Linux修改文件出现错误E45:“readonly” option is set(add ! to override)退出不了vim
- Windows丢失缺少api-ms-win-crt-process-l1-1-0.dll解决方法
- 2022-2028全球与中国交通信号控制系统市场现状及未来发展趋势
- OsgEarth —— 笔记9 - 飞机加入跟踪半透明圆圈标识(附源码)
- java(maven)链接neo4j
- PDCP 功能与基本概念
- 如何有效管理自己电脑里的文件
- 安装BackTrack5 R3
- 2021 ICPC沈阳 J.Luggage Lock(bfs,模拟)
热门文章
- 用Pymol的pythonAPI来获取原子所属残基的信息
- 生态透水砖加工制作技术资料配方方法
- LeeCode 1379. 找出克隆二叉树中的相同节点
- AttributeError: Can‘t get attribute ‘SPPF‘
- CNN卷积中卷积层,卷积核,通道概念及卷积过程详解
- 什么是CEO,CFO,CTO.CHO,CMO,CIO,CKO
- php青茶什么时候拆,没拆封的茶叶能放几年
- 如何删除win7里很多的microsoft 6to4 adapter
- k8s中的pv和pvc的区别和联系?什么是pv?什么是pvc?
- linux系统题库的答案,Linux操作系统知道题库及答案