举例1

有一张项目表

CREATE TABLE [ProjectTable] (
[ProjectID] NVARCHAR(16) NOT NULL,
[ProjectName] NVARCHAR(20) NOT NULL ON CONFLICT REPLACE DEFAULT Null,
[DeviceID] INTEGER(16) NOT NULL ON CONFLICT FAIL,
[Description] NVARCHAR(255) NOT NULL ON CONFLICT REPLACE DEFAULT 工程描述);

使用一下的sql语句

select
distinct
a.[ProjectID],
a.[ProjectName]
from
projecttable as a

得出的结果为

其实想要的数据,只是不同的ProjectID所对应的ProjectName

修改sql语句为

select
distinct
a.[ProjectID],
a.[ProjectName]
from
projecttable as a
group by a.[ProjectID]

举例2

https://stackoverflow.com/questions/13998552/why-do-we-need-group-by-with-aggregate-functions

假如现在有一张points detail表,3个字段,user id,company id,points

CREATE TABLE PointsDetail
(
UserId INT NOT NULL ,
CompanyId INT NOT NULL ,
Points INT NOT NULL
);
INSERT INTO dbo.PointsDetail (   UserId ,
CompanyId ,
Points
)
VALUES ( 1 , -- UserId - int
1 , -- CompanyId - int
6 -- Points - int
);
INSERT INTO dbo.PointsDetail ( UserId ,
CompanyId ,
Points
)
VALUES ( 2 , -- UserId - int
1 , -- CompanyId - int
7 -- Points - int
); INSERT INTO dbo.PointsDetail ( UserId ,
CompanyId ,
Points
)
VALUES ( 1 , -- UserId - int
2 , -- CompanyId - int
4 -- Points - int
); INSERT INTO dbo.PointsDetail ( UserId ,
CompanyId ,
Points
)
VALUES ( 2 , -- UserId - int
2 , -- CompanyId - int
3 -- Points - int
);

获取所有数据

SELECT *
FROM PointsDetail;

按照用户group汇总积分,得到每个用户的积分总和

SELECT   UserId ,
SUM(Points) AS TotalPointsForUser
FROM PointsDetail
GROUP BY UserId;

按照公司group汇总积分,得到每个公司的积分总和

SELECT   CompanyId ,
SUM(Points) AS TotalPointsForCompany
FROM PointsDetail
GROUP BY CompanyId;

举例3  特殊情况

BeneficiaryAccountID  由BeneficiaryId和CompanyId决定,所以下面的2个sql语句执行的points列是一样的

SELECT   BeneficiaryAccountID ,
SUM(Points) AS TotalPoints
FROM dbo.tbm_cti_CustomTableItem_BeneficiaryPointDetail
WHERE PointsType = 1
GROUP BY BeneficiaryAccountID
ORDER BY TotalPoints; SELECT BeneficiaryID ,
CompanyID ,
SUM(Points) AS TotalPoints
FROM dbo.tbm_cti_CustomTableItem_BeneficiaryPointDetail
WHERE PointsType = 1
GROUP BY BeneficiaryID ,
CompanyID
ORDER BY TotalPoints;

group by的SQL语句的更多相关文章

  1. Oracle行转列、列转行的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现  SQL Code  12    select concat(id,username) str from app_userselect i ...

  2. Oracle行转列、列转行的Sql语句总结(转)

    多行转字符串 这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_userselect id||username str f ...

  3. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    这个比较简单,用||或concat函数可以实现 select concat(id,username) str from app_user select id||username str from ap ...

  4. LINQ to SQL语句(6)之Group By/Having

    适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group ...

  5. sql语句Group By用法-转载

    sql语句Group By用法一则 2007-10-25 12:00 sql语句Group By用法一则 如果我们的需求变成是要算出每一间店 (store_name) 的营业额 (sales),那怎么 ...

  6. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  7. [转]SQL语句:Group By总结

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...

  8. (转载)SQL语句中Group by语句的详细介绍

    转自:http://blog.163.com/yuer_d/blog/static/76761152201010203719835 SQL语句中Group by语句的详细介绍              ...

  9. SQL语句:Group By总结

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)".它的作用是通过一定的规则将一个数据集划分成若干个 ...

随机推荐

  1. NGUI基础之button(按钮)

    1,button的创建:2,button组件的基本属性:3,button的事件监听 原位地址:http://blog.csdn.net/dingkun520wy/article/details/504 ...

  2. SQL Server 2008安装和配置过程

    下面我将用图解的方式,来介绍SQL Server 2008安装和配置过程,希望对大家有所帮助. 闲言少叙,直奔主题!点击setup.exe安装文件后,如果系统没有以下组件,则会出现如下提示! 安装20 ...

  3. Underscore 源码

    Underscore 源码 作者:韩子迟 What? 不知不觉间,「Underscore 源码解读系列」进入了真正的尾声,也请允许我最后一次 po 下项目的原始地址 https://github.co ...

  4. VBS基础篇 - wscript 对象

    一.wscript对象 描述:提供对 Windows 脚本宿主对象模型根对象的访问.详述:WScript 对象是 Windows 脚本宿主对象模型层次结构的根对象.它可在任何脚本文件中使用,不需要特定 ...

  5. 怎么删除有外键约束的MySQL表中的数据

    SET FOREIGN_KEY_CHECKS = 0 操作结束后 SET FOREIGN_KEY_CHECKS = 1

  6. NeatUpload 同时选择并上传多个文件

    neatUpload是asp.net 中可以同时上传多个文件的控件,主页:http://neatupload.codeplex.com/. 效果如下图(显示有点不正常...): 使用步骤: 1. 在a ...

  7. SQL Server视图

    想来想去,总想写写SQL Server方面的知识,像视图.存储过程,大数据量操作的优化等等. 先把基础的知识总结个遍先,然后再寻求更高更远的发展.这篇文章,将带大家来看看视图. 何谓视图,视图包含行和 ...

  8. JQuery图片延迟加载插件,动态获取图片长宽尺寸

    以前的网站带宽小,没有特别多的大图,现在不同了,各种图片网站如同雨后春笋层出不穷.服务器是抗住了,但是客户端就有意见了,太多的图片必然导致页面加载缓慢,特别是有些table结构的站点更是如此.能否让图 ...

  9. HTML5网页制作教程:HTML5块级链接

    网页制作Webjx文章简介:Web 标准中处处充满了打脸行为,这条规则现在已经失效了!在那篇文章发布一个月后,HTML5doctor 发表了 “Block-level” links in HTML5, ...

  10. 2014 Multi-University Training Contest 10

    官方解题报告:http://blog.sina.com.cn/s/blog_6bddecdc0102v01l.html A simple brute force problem. http://acm ...