数据库 分组统计问题
2017-09-13 14:58
162 查看
最经有人问我分组统计的问题,感觉很简单 ,拿起笔却没有完整下下来,今天索性自己整理一下
[Id] [int] IDENTITY(1,1) NOT NULL,
[TypeID] [int] NOT NULL,
[BrandID] [int] NOT NULL,
[ProName] [nvarchar](50) NOT NULL,
[Description] [nvarchar](500) NULL,
[Attribute] [nvarchar](500) NULL,
[Overview] [nvarchar](500) NULL,
[Price] [numeric](18, 2) NULL,
[Promotion] [numeric](18, 2) NULL,
[ImgData] [varbinary](max) NULL,
[ImgMimeType] [varchar](50) NULL,
PRIMARY KEY CLUSTERED
(
[Id] 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]
问题 一:根据产品表,统计一下表中每种类型产品的销售额
分析题目要求,
分析一:说到分组统计 大家知道 肯定要用到 group by来进行分组 ,group by 添加你要分组的字段,要求按照类型分组,说明 group by 后面的字段是TypeID 即 group by typeID, 注意select 后面跟的查询字段 必须是group by 后面的字段或者是聚合函数,否则执行语句会报错。
分析二:求和需要用到sum()函数,及sum(Price).
分析三:sql 语句即可写成 select typeID,sum(Price) fromProducts group by typeID
分析一:说到分组统计 大家知道 肯定要用到 group by来进行分组 ,group by 添加你要分组的字段,要求按照类型分组,说明 group by 后面的字段是TypeID 即 group by typeID, 注意select 后面跟的查询字段 必须是group by 后面的字段或者是聚合函数,否则执行语句会报错。
分析二:求和需要用到sum()函数,及sum(Price).
分析三:每种类型的产品销售额大于100 即条件过滤,在sql语法中条件过滤有where和having 两种类型的条件过滤,where用于对记录的过滤筛选且过滤筛选不能是聚合函数,having用于对分组后的组内记录进行过滤筛选且可以是聚合函数。
分析四:sql 语句即可写成 select typeID,sum(Price) fromProducts group by typeID having sum(Price)>100
产品表 Products
CREATE TABLE [dbo].[Products]([Id] [int] IDENTITY(1,1) NOT NULL,
[TypeID] [int] NOT NULL,
[BrandID] [int] NOT NULL,
[ProName] [nvarchar](50) NOT NULL,
[Description] [nvarchar](500) NULL,
[Attribute] [nvarchar](500) NULL,
[Overview] [nvarchar](500) NULL,
[Price] [numeric](18, 2) NULL,
[Promotion] [numeric](18, 2) NULL,
[ImgData] [varbinary](max) NULL,
[ImgMimeType] [varchar](50) NULL,
PRIMARY KEY CLUSTERED
(
[Id] 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]
问题 一:根据产品表,统计一下表中每种类型产品的销售额
分析题目要求,分析一:说到分组统计 大家知道 肯定要用到 group by来进行分组 ,group by 添加你要分组的字段,要求按照类型分组,说明 group by 后面的字段是TypeID 即 group by typeID, 注意select 后面跟的查询字段 必须是group by 后面的字段或者是聚合函数,否则执行语句会报错。
分析二:求和需要用到sum()函数,及sum(Price).
分析三:sql 语句即可写成 select typeID,sum(Price) fromProducts group by typeID
问题二:根据产品表,统计一下表中每种类型产品的销售额大于100的记录
分析题目要求,分析一:说到分组统计 大家知道 肯定要用到 group by来进行分组 ,group by 添加你要分组的字段,要求按照类型分组,说明 group by 后面的字段是TypeID 即 group by typeID, 注意select 后面跟的查询字段 必须是group by 后面的字段或者是聚合函数,否则执行语句会报错。
分析二:求和需要用到sum()函数,及sum(Price).
分析三:每种类型的产品销售额大于100 即条件过滤,在sql语法中条件过滤有where和having 两种类型的条件过滤,where用于对记录的过滤筛选且过滤筛选不能是聚合函数,having用于对分组后的组内记录进行过滤筛选且可以是聚合函数。
分析四:sql 语句即可写成 select typeID,sum(Price) fromProducts group by typeID having sum(Price)>100
相关文章推荐
- 对于mysql处理数据库表中一对多的数据统计问题
- PHP实现数据库统计时间戳按天分组输出数据的方法
- 用质数解决数据库两表需要中间表的问题如此解决更新用户的标签和统计标签使用数量问题。
- 一个有关访问量统计的数据库设计以及isqlplus的一个设置问题
- [Oracle SQL] 使用rollup分组统计按统计结果分组排序显示的问题
- 数据库查询分组类型问题总结
- redmine中使用python按人员分组统计问题入excel的自编写案例
- 在数据库里统计--按时间分组(每天)
- PHP数据库统计时间戳按天分组输出数据
- 分组统计并且累加的问题
- 数据库分组求和问题
- SQL语句 按年龄段分组统计人数问题
- 关于MongoDB分组统计的问题
- 数据库查询之(Ⅱ)统计、分组(排序)查询
- group分组之后要求统计count问题
- 问题集锦04:使用Management Studio查看数据库性能统计报告时
- 数据库语句大全之排序/分组统计
- SQL语句 按年龄段分组统计人数问题
- 多用户分组权限管理问题的数据库设计
- 数据库分类统计、分组查询