所在的位置: mysql >> mysql前景 >> 数据库distinct用法

数据库distinct用法

数据库distinct用法:当使用mysql时,有时候需要查询一个字段不重复的记录,尽管mysql提供了distinct这个关键字,以过滤掉多余的重复记录,但为了返回没有重复性记录的所有值,通常只能返回不重复记录的条数,而不使用该记录返回所有值。

1、这是因为distinct只能返回它的目标字段,而不能返回其他字段,这个问题一直困扰着我,如果使用distinct也不能解决,只能使用二重循环查询,而且这样对于数据量非常大的站来说,无疑会直接影响到我的效率。

2、表格中可以包含重复值。尽管有些时候,您可能想简单地列出一个不同(distinct)的值。使用distinct关键词返回一个唯一的不同值。

表格A

例子1

下面是复制代码:

selectdistinctnamefromA

实施后的结果如下:

范例2

下面是复制代码:

selectdistinctname,idfromA

实施后的结果如下:

事实上,distinct按照name+id来重,distinct同时作用于name和id,Access和SQLServer都支持这种方式。

例子3:统计学

下面是复制代码:

selectcount(distinctname)fromA;--name脱重后的数量,SQLServer支持,而Access不支持

selectcount(distinctname,id)fromA;--SQLServer和Access都不支持

例子4

下面是复制代码:

selectid,distinctnamefromA;--由于必须将distinct置于开始位置

其它

distinct语句中的select显示的字段只能是distinct所指定的字段,不可能出现其他字段。举例来说,假设表A有mote列,那么如果希望获得distinc名称和相应的memo字段,就无法直接通过distinct。

总结:对于SQLServer将一列的多行内容拼接为一行的问题,可以用其他方法来实现讨论




转载请注明:http://www.aierlanlan.com/cyrz/4850.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了