sqlserver中distinct的用法(不重复的记录)
下面先来看看例子:
table表
字段1 字段2
id name
1 a
2 b
3 c
4 c
5 b
库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。
比如我想用一条语句查询得到name不重复的所有数据,那就必须
使用distinct去掉多余的重复记录。
select distinct name from table
得到的结果是:
----------
name
a
c
好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:
select distinct name, id from table
结果会是:
----------
id name
1 a
2 b
3 c
4 c
5 b
distinct怎么没起作用?作用是起了的,不过他同时作用了两个
字段,也就是必须得id与name都相同的才会被排除
我们再改改查询语句:
select id, distinct name from table
很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。
--------------------------------------------------------
下面方法可行:
select *, count(distinct name) from table group by name
结果:
id name count(distinct name)
1 a 1
2 b 1
3 c 1
最后一项是多余的,不用管就行了,目的达到
group by 必须放在 order by 和 limit之前,不然会报错
if ($ != jQuery) {
$ = jQuery.noConflict();
}
相关推荐
-
SQL Server 数据库清除日志的方法
方法一: 1.打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2.再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了. 方法二: 设置检查点,自动截断日志 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1.设置数据库模式为简单模
-
SQL Server 2008 安装和配置图解教程(附官方下载地址)
SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好.本文将从SQL Server 2008安装开始讲起. SQL Server 2008 简体中文正式版 下载地址 http://www.jb51.net/softs/43885.html 本来这篇是打算玩玩服务器功能中的第一个:adrms的,没想到装了几次都安装成功,但是有错误,后来没招了,打算将rms的数据库放到sql上来折腾折腾,所以为了不让大家觉得突兀,所以本篇SQ
-
MySQL提示:The server quit without updating PID file问题的解决办法
用df命令查了下,果然磁盘满了,因为当时分区采用系统默认,不知道为什么不能自动扩容!以后在处理这个问题!如图所示: 复制代码 代码如下: [root@snsgou ~]# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/mapper/vg_snsgou-lv_root51606140 47734848 1249852 100% /tmpfs 1953396 88
-
高效的SQLSERVER分页查询(推荐)
第一种方案.最简单.普通的方法: 复制代码 代码如下: SELECT TOP 30 * FROM ARTICLE WHERE ID NOT IN(SELECT TOP 45000 ID FROM ARTICLE ORDER BY YEAR DESC, ID DESC) ORDER BY YEAR DESC,ID DESC 平均查询100次所需时间:45s 第二种方案: 复制代码 代码如下: SELECT * FROM ( SELECT TOP 30 * FROM (SELECT TOP 4503
-
SQL Server 2008登录错误:无法连接到(local)解决方法
在一些朋友安装完SQL Server 2008之后大多会遇到连接出错的问题.特别对于我们这样的新手而言简直郁闷的要死,好不容易装玩了又出现了问题.此篇文章意在解决安装步骤没有问题,但安装后无法登录的问题. 在解决问题之前请朋友们打开服务窗口,看"SQL Server"主服务是否打开,如下图. 若服务已经打开还是用"SQL Server 身份验证"和"Windows 身份验证"都无法登录请看下面的步骤. 往往这时,服务器类型我们选择了"数
-
sqlserver2005 安装图解教程以及SQL 2005 SP3补丁安装图文教程
MSSQL2005数据库版本 SQL Server 2005 的各版本之间选择 大多数企业都在三个 SQL Server 版本之间选择:SQL Server 2005 Enterprise Edition.SQL Server 2005 Standard Edition 和 SQL Server 2005 Workgroup Edition.大多数企业选择这些版本是因为只有 Enterprise Edition.Standard Edition 和 Workgroup Edition 可以
-
Microsoft SQL Server 2012 数据库安装图解教程
我们下载地址:http://www.jb51.net/softs/79861.html 官网下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=29066 1. 根据微软的下载提示,64位的Windows7操作系统,只需下载列表的CHSx64SQLFULL_x64_CHS_Core.box.CHSx64SQLFULL_x64_CHS_Intall.exe和CHSx64SQLFULL_x64_CHS_Lang.box三个安装包即
-
SQL Server数据库入门学习总结
一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识. 数据库基本是由表,关系,操作组成:对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数 存储过程 触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装.配置,服务器启动.停止,企业管理器.查询分
-
SQL Server错误代码大全及解释(留着备用)
SQLSTATE SQL SERVER 驱动程序错误 描述 HY000 所有绑定列都是只读的. 必须是可升级的列,以使用 SQLSetPos 或 SQLBulkOperations 更改或插入行. HY000 已检测到一个旧 netlib (%s).请删除并重新启动应用程序. 正在装载的 netlib 已过期.驱动程序请求一个较新的 netlib.问题可能出在应用程序当前目录中的 netlib,正在装载的是这个 netlib,而不是系统目录中的那个.也可能是该 netlib 安装不当或已损坏.
-
win7系统安装SQLServer2000的详细步骤(图文)
首先,如果以前安装的话,要删除干净.我也找了半天的网络资料.1.把原来SQLServer的安装目录 C:\Program Files\Microsoft SQL Server 删除2.所有SQLServer相关的注册表全部删除,保证系统是没有装过SQLServer的状态注册表打开方式:开始-->运行-->regedit然后找下面目录删除 1).hkey_current_user\software\miocrosoft\MICROSOFT SQL SERVER 文件夹删除 2).h
-
SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
SQL Server 2008"阻止保存要求重新创建表的更改"的错误的解决方案是本文我们主要要介绍的内容,情况是这样的:我们在用SQL Server 2008 建完表后,插入或修改任意列时,提示:当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改. 如果强行更改会出现以下提示:不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了"阻止保存要求重新创建表的更改&qu
-
SQL Server COALESCE函数详解及实例
SQL Server COALESCE函数详解 很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用,本文主要讲解其中的一些基本使用: 首先看看联机丛书的简要定义: 返回其参数中第一个非空表达式语法: COALESCE ( expression [ ,...n ] ) 如果所有参数均为 NULL,则 COALESCE 返回 NULL.至少应有一个 Null 值为 NULL
-
SQL Server 2008图文安装教程第1/2页
SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好.本文将从SQL Server 2008安装开始讲起. 本来这篇是打算玩玩服务器功能中的第一个:adrms的,没想到装了几次都安装成功,但是有错误,后来没招了,打算将rms的数据库放到sql上来折腾折腾,所以为了不让大家觉得突兀,所以本篇SQL Server 2008安装,SQL Server 2008在企业中也是非常重要的应用,各种财务系统,erp系统,oa系统等都会用
随机推荐
- Vue方法与事件处理器详解
- PostgreSQL之分区表(partitioning)
- Apache和Tomcat服务器间的区别、联系、整合详细介绍
- java字符串的大写字母右移实现方法
- Java 多线程并发编程_动力节点Java学院整理
- js点击按钮实现水波纹效果代码(CSS3和Canves)
- php中文字母数字验证码实现代码
- Python 高级专用类方法的实例详解
- js显示世界时间示例(包括世界各大城市)
- JavaScript 中对象的深拷贝
- 用js实现QQ在线查询功能
- 3分钟写出来的Jquery版checkbox全选反选功能
- 基于JS实现仿百度百家主页的轮播图效果
- 远程或本地获取系统信息的脚本RGIS.vbs
- 浅谈Java中强制类型转换的问题
- 用JQuery调用Session的实现代码
- java String的intern方法
- .net文件上传时实现通过文件头确认文件类型的方法
- PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
- python实现基于朴素贝叶斯的垃圾分类算法