说说数据库中sum的用法
转载自品略图书馆 http://www.pinlue.com/article/2020/03/3100/0210073883113.html
数据库中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的用法
转自:微点阅读(www.weidianyuedu.com)微点阅读 - 范文大全 - 免费学习知识的网站 数据库中sum的用法的用法你知道吗?下面小编就跟你们详细介绍下数据库中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篇文章或返回满 ...
最新文章
- 【毕业求职季】-听说你想去大厂看学妹,带你看看阿里后端实习面经长啥样?
- c语言变量radius数据类型,c语言数据类型
- if的作用域问题 *输出1~6的随机数*
- 动点移动轨迹,猜猜这是曲线还是直线?
- linux 系统盘无法ls,系统故障排除
- vscode生成vue模板快捷键_VSCode一键生成.vue模版
- 【SCIR笔记】ACL20 让模型“事半功倍”,探究少样本序列标注方法
- Netlink0004 --- 多播机制的用法
- html浮窗音乐播放器插件,墨涩网 - WordPress浮窗音乐播放器Floating Window Music Player V3.2.6——墨涩网...
- 【车标识别】基于SIFT算子的车标识别算法matlab仿真
- Python图像灰度化处理
- 机器学习笔记最大熵之NER
- Mac Sublime Text安装可以使xml格式化的插件
- Unity Recorder的使用讲解
- 重定向--Linux bash
- 计算机网络atm功能,现代计算机网络原理4ATM交换技术.ppt
- MATLAB App Designer 计算器的设计
- 神经风格转移:Anaconda快速搭建DL框架学梵高(Van Gogh)绘画Ubuntu16.04 CPUGPU版
- 注意力机制在推荐模型中的应用——AFM、DIN、DIEN
- 设备上报二进制数据在 IoT 平台解析实践
热门文章
- itext根据模版生成PDF与合并多个PDF以及向已存在PDF增加水印设置权限等操作
- 使用霍金团队选择的服务器是一种什么感受
- 【XSY2786】Mythological VI 数学
- busybox 安装问题解决
- 河北大学计算机男女比例,全国高校男女比例排行榜出炉!黑龙江省这所学校女生多……...
- 权利人的变更费用是多少?
- 今年的天猫双11,和往年有什么不一样?
- 这些年掘金上的优质前端文章,篇篇经典,一次打包带走!
- 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...
- 百度人工智能如何走向千家万户?陆奇的答案是度秘