当前位置:  数据库>sqlserver

sql server数据分组查询脚本分析

    来源: 互联网  发布时间:2014-08-29

    本文导语:  1,使用排序使数据有序 通常,所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。 因此,相似的值按组排序在一起。 然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每...

1,使用排序使数据有序
通常,所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。
因此,相似的值按组排序在一起。
然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每条记录而分组可能代表很多记录。

2,进行分组除去重复值
排序和分组之间的最大区别:
排序的数据显示所有记录(在限定标准范围之内),而分组数据不是显示所有记录。
GROUP BY语句对于同样的值只显示一条记录。
例如,下面的语句中的GROUP BY语句对数据源中重复出现的数据只返回唯一的zip编码列。
 

SELECT ZIP FROM Customers GROUP BY ZIP

只包括由GROUP BY和SELECT语句共同定义的那些记录,换句话说,SELECT列表必须满足GROUP BY列表,有一个例外就是SELECT列表可以包含聚合函数(GROUP BY语句不允许使用聚合函数)。

注意:GROUP BY语句不会对结果分组进行排序。为了使分组按字母或数字有序排列,需要添加ORDER BY语句。
此外,在GROUP BY语句中不能引用使用了别名的字段。分组栏目必须是潜在的数据,但它们并不需要显示在结果中。

3,在分组之前进行数据筛选
你可以添加一个WHERE语句来筛选有GROUP BY所得分组中的数据。
例如,下面的语句只返回肯塔基州顾客的唯一ZIP编码列。
 

SELECT ZIP FROM CustomersWHEREState = 'KY' GROUP BY ZIP

注意:
WHERE语句是在GROUP BY语句求值之前进行数据过滤的。
与GROUP BY语句一样,WHERE语句也不支持聚合函数。

4,返回所有分组
当使用WHERE语句过滤数据时,结果分组中只显示你指定的那些记录,而符合分组定义但是不满足过滤条件的数据不会包含在某个分组中。
当想在分组中包含所有数据时添加关键字ALL即可,这时WHERE条件就不起作用。

例如,在前面的例子中,添加关键字ALL就会返回所有的ZIP分组,而不是仅在肯塔基州的那些。
 

代码示例:

create table ArticleInfo
(
ArticleId int identity(1,1) primary key,
ArticleTitle nvarchar(100),
ArticleContent nvarchar(100),
ArticlePublishTime datetime,
ArticleBelong nvarchar(100),
ArticleClickNum int
)
go

select *from (select row_number() over (partition by ArticleId order by
ArticlePublishTime desc) rank,* from ArticleInfo)
a where ArticleId=2

select * from ArticleInfo


    
 
 

您可能感兴趣的文章:

  • SQL分组排序去除重复实例
  • Sql Server多行合并一行 sql分组统计
  • sql分组查询(按组内个数排序)
  • SQL分组排序去重复的小实例
  • SQL分组统计简单例子
  • 显示同一分组中的其他元素的sql语句
  • sql中获取分组排序后数据方法实例
  • SQL语句分组获取记录的第一条数据的方法
  • SQL分组查询实例解析
  • sql语句获取分组排序后数据
  • sql server分组排序之row_number()over函数的使用
  • Sql Server 分组统计并合计总数(WITH ROLLUP用法)
  • sql分组排序与分组统计技巧
  • sql server 2000/2005/2008中一句话完成分组后加序号
  • sql获取分组排序后数据的脚本
  • sql server分组查询与排序的例子
  • SQL分组排序与分组查询统计
  • Sql Server 分组统计并合计总数及WITH ROLLUP应用
  • 以数据库字段分组显示数据的sql语句(详细介绍)
  • Sql Server:多行合并成一行,并做分组统计的两个方法
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • SQL Server统计SQL语句执行时间的脚本
  • Shell脚本调用Sql脚本并向其中传递变量
  • PHP的SQL封装脚本 TbsSQL
  • 求助:linux脚本语言写SQL语句
  • 查询SQL Server中所有数据库的数据文件位置的sql脚本
  • mysql下怎样运行脚本以运行niuzi.sql为例
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • shell 执行oracle sql脚本的问题
  • SQL脚本中注释引起的奇怪问题的解决方法
  • 用来还原数据库的sql脚本
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • SQL查询分析工具 SQL Workbench/J
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • 基于SQL的日志分析工具 myselect
  • 关于SQL嵌套的误解分析
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • SQL语句中SUM与COUNT的区别深入分析
  • SQL Server 死锁原因分析与解决办法
  • 有关sql server中千万级数据的like问题分析
  • unix shell 里调用sql ,请帮手分析问题,谢谢
  • sql server 2008时间查询问题分析
  • 通过分析SQL语句的执行计划优化SQL
  • SQL 中having 和where的区别分析
  • jdbc连接sql server数据库问题分析
  • 深入sql数据连接时的一些问题分析
  • SQL查询前10条记录(SqlServer/mysql/oracle)的语法分析
  • Discuz7.2版的faq.php SQL注入漏洞分析
  • 对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
  • SQL Server 置疑、可疑、正在恢复等情况分析
  • SQL 查询分析中使用net命令问题
  • SQL Server和Oracle并行处理比较分析
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • 显示同一分组中的其他元素的sql语句 iis7站长之家
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3