潞城市网站建设公司,长沙百度公司,北关网站制作,小程序二维码怎么生成链接在表中#xff0c;可能会包含重复值。这并不成问题#xff0c;不过#xff0c;有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A#xff1a; 表B: 1.作用于单列 select distinct name from A 执行后结果如下#xff1a; 2.作用于多列… 在表中可能会包含重复值。这并不成问题不过有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A 表B: 1.作用于单列 select distinct name from A 执行后结果如下 2.作用于多列 示例2.1 select distinct name, id from A 执行后结果如下 实际上是根据name和id两个字段来去重的这种方式Access和SQL Server同时支持。 示例2.2 select distinct xing, ming from B 返回如下结果 返回的结果为两行这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的而是分别作用于了xing和ming列。 3.COUNT统计 select count(distinct name) from A; --表中name去重后的数目 SQL Server支持而Access不支持 count是不能统计多个字段的下面的SQL在SQL Server和Access中都无法运行。 select count(distinct name, id) from A; 若想使用请使用嵌套查询如下 select count(*) from (select distinct xing, name from B) AS M; 4.distinct必须放在开头 select id, distinct name from A; --会提示错误因为distinct必须放在开头 5.其他 distinct语句中select显示的字段只能是distinct指定的字段其他字段是不可能出现的。例如假如表A有“备注”列如果想获取distinc name以及对应的“备注”字段想直接通过distinct是不可能实现的。但可以通过其他方法实现关于SQL Server将一列的多行内容拼接成一行的问题讨论