查询数据库中的不重复记录

by 清泉 24. 二月 2009 20:37

我们都知道,使用关键字distinct可以查询不重复的记录。
比如:
select distinct col1 from table1
select destinct * from table1
但是如果要查询列中的某一列(或几列)不重复的记录,那直接使用distinct就不能得到我们想要的结果了。
比如:
  col1  col2
  AA      AB
  AA      BB

要是查询col1列不重复的记录下面这样就不能实现。
select distinct col1, col2 from table1
select destinct * from table1

select col2, distinct col1 from table1 这样却是不合法的。

不过下面这样却可以实现:
select col1, col2, count(distinct col1) from table1 group by col1
后面一列是多余的,我们不用理会。

这样就可以实现查询不重复的记录了。

不过还有更简单的方法,使用group by进行查寻:
select col1, col2 from table1 group by col1
这样也能实现

如果在查寻过程中出现“试图执行的查询中不包含作为合计函数一部分的特定表达式”的错误,
解决方法为:
前面select选择的字段,都要在后面的group by 中出现
group by 后面跟的各个字段,是按第一个字段为主关健字,后面是依次为二、三.....等.

Tags:

数据库相关

添加评论



(将显示你的Gravatar头像)  

biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading



Supidea.com 晨飞的梦 @ All Rights Reserved. Powered by BlogYi.NET ver:1.8.0.0. 苏ICP备09011404号

关于博主

kamau
抱着美好的理想背井离乡,这酸甜苦辣只能默默忍受。既然选择了路,就得风雨兼程……

Calendar

<<  五月 2012  >>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

在日历中查看文章

最近的评论

Comment RSS

声明

      本博所发一切破解相关附件只作学习研究交流之用,严禁用于商业用途,请在下载24小时内删除。
      本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2009