以下的文章主要描述的是SQL Server group by的正确用法,在实际操作中group by是经常要用到的语法,那么你对SQL Server group by的用法有兴趣了解的话,你就可以通过以下的文章对其有个更好的了解。
group by 是SQL Server 中常用的一种语法,语法如下:
[ GROUP BY [ ALL ] group_by_expression [ ,...n ] [ WITH { CUBE | ROLLUP } ] ]
SQL Server group by的用法1、最常用的就是这种语法,如下:
Select CategoryID, AVG(UnitPrice), COUNT(UnitPrice) FROM dbo.Products Where UnitPrice > 30 GROUP BY CategoryID ORDER BY CategoryID DESC
这个语句查询出,所有产品分类的产品平均单价,单价计数。并且单价在 30 以上的记录。
SQL Server group by的用法2、再看看这种语法,如下:
Select CategoryID, AVG(DIstINCT UnitPrice), COUNT(DISTINCT UnitPrice) FROM dbo.Products Where UnitPrice > 30 GROUP BY CategoryID ORDER BY CategoryID DESC
使用 DISTINCT 的时候,将会去除重复的价格平均单价。
SQL Server group by的用法3、假如希望在分类统计之后,再使用条件过滤,下面的语句可以做为参数:
Select CategoryID, SUM(UnitPrice) AS SumPrice FROM dbo.Products GROUP BY CategoryID HAVING SUM(UnitPrice) > 300
HAVING 与 Where 语句类似,Where 是在分类之前过滤,而 HAVING 是在分类之后过滤。它和 Where 一样使用 AND、OR、NOT、LIKE 组合使用。
SQL Server group by的用法4、假如希望再在分类统计中,添加汇总行,可以使用以下语句:
Select CategoryID, SUM(UnitPrice), GROUPING(CategoryID) AS 'Grouping' FROM dbo.Products GROUP BY CategoryID WITH ROLLUPGrouping
这一列用于标识出哪一行是汇总行。它使用 ROLLUP 操作添加汇总行。
SQL Server group by的用法5、假如使用 WITH CUBE 将会产生一个多维分类数据集,如下:
Select CategoryID, SupplierID, SUM(UnitPrice) AS SumPrice FROM dbo.Products GROUP BY CategoryID, SupplierID WITH CUBE
它会产生一个交叉表,产生所有可能的组合汇总。
SQL Server group by的用法6、使用 ROLLUP CUBE 会产生一个 NULL 空值,可以使用以下语法解决,如下:
Select CASE WHEN (GROUPING(SupplierID) = 1) THEN '-1' ELSE SupplierID END AS SupplierID, SUM(UnitPrice) AS QtySum FROM dbo.ProductsGROUP BY SupplierID WITH CUBE
它首先检查当前行是否为汇总行,假如是就可以设置一个值,这里设置为 '-1' 。
在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...
对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...
假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...
ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...
用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...