精华内容
下载资源
问答
  • selectdistinct
    千次阅读
    2022-04-22 14:27:46

    select distinct

    在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
    distinct 关键词用于返回唯一不同的值。

    
    SELECT DISTINCT column_name FROM table_name;
    SELECT DISTINCT column_name FROM table_name;
    SELECT DISTINCT column_name FROM table_name;
    SELECT DISTINCT column_name FROM table_name;
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    更多相关内容
  • SQL SELECT DISTINCT 语句

    2020-12-16 17:29:17
    SQL SELECT DISTINCT 语句 SELECT DISTINCT 语句用于返回唯一不同的值。 SQL SELECT DISTINCT 语句 在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。 DISTINCT 关键词用于返回...
  • select distinct 语句详解

    万次阅读 2021-04-02 15:14:57
    select distinct :当我们期望返回的数据不存在重复数据时(每一行的数据都不一样) 例如:表a id(int) name(varchar) 分数(int) 1 qqq 95 2 qqq 84 3 www 77 4 eee 77 select distinct a.* ...

    select distinct :当我们期望返回的数据不存在重复数据时(每一行的数据都不一样)

    例如:表a

    id(int)name(varchar)分数(int)
    1qqq95
    2qqq84
    3www77
    4eee77
    select distinct a.* from a -- 可以查询出所有的信息
    select distinct a.id from a -- 可以查询出id不同的信息,则还是全部数据的id列(1,2,3,4)
    select distinct a.name from a -- 可以查询name不同的的信息,则是三条数据(qqq,www,eee)
    

    由以上例子,可以很好的理解 distinct 关键字的作用。

    还有一种作用,当select distinct ‘XXX’ from table where xxx不返回结果时,则结果为空,由返回结果时,结果被替换成XXX。

    select distinct 'XXX' from a where a.name = 'qqq' -- 结果列为XXX
    select distinct 'XXX' from a where a.name = 'dfgd' -- 结果列为空
    
    展开全文
  • 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是...

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,经过实验, 有如下方法可以实现。

    举例如下:

    这是test表的结构

    id test1 test2

    1 a 1

    2 a 2

    3 a 3

    4 a 1

    5 b 1

    6 b 2

    7 b 3

    8 b 2

    比如我想用一条语句查询得到test1不重复的所有数据,那就必须使用distinct去掉多余的重复记录。

    select distinct test1 from test

    得到的结果是:

    test1

    a

    b

    好像达到效果了,可是,我想要得到的是id值?改一下查询语句吧:

    select distinct test1, id from test

    test1 id

    a 1

    a 2

    a 3

    a 4

    b 5

    b 6

    b 7

    b 8

    distinct怎么没起作用?作用是起了的,不过他同时作用了两个字段,也就是必须得id与test1都相同的才会被排除,这不可能的,id是自动增长的。。。

    我们再改改查询语句:

    select id, distinct test1 from test

    很遗憾,除了错误信息你什么也得不到,distinct必须放在开头。难到不能把distinct放到where条件里?能,照样报错。。。。。。。

    通过查阅手册,可以通过group_cancat来实现:

    SELECT id, group_concat( DISTINCT test1 ) FROM test GROUP BY test1

    id group_concat( distinct test1 )

    1 a

    5 b

    不过它只有在4.1.0以后才能用,对于那些老版本的数据库是不行的。

    可以通过其他函数来实现:

    select *, count(distinct test1) from test group by test1

    id test1 test2 count( distinct test1 )

    1 a 1 1

    5 b 1 1

    最后一项是多余的,不用管就行了,目的达到。。。。。

    还有更简单的方法也可以实现:

    select id, test1 from test group by test1

    id test1

    1 a

    5 b

    展开全文
  • MySQL SELECT DISTINCT和计数?

    千次阅读 2021-01-21 18:28:06
    创建表的查询如下:mysql> create table selectDistinct_CountDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> AppearanceId int, -> PRIMARY KEY(Id) -> ); 使用insert命令...

    您需要将GROUP BY命令与MySQL的聚合函数count(*)结合使用才能实现。语法如下:SELECT yourColumnName,COUNT(*) AS anyVariableNameFROM yourTableName GROUP BY yourColumnName;

    为了理解上述语法,让我们创建一个表。创建表的查询如下:mysql> create table selectDistinct_CountDemo

    -> (

    -> Id int NOT NULL AUTO_INCREMENT,

    -> Name varchar(10),

    -> AppearanceId int,

    -> PRIMARY KEY(Id)

    -> );

    使用insert命令在表中插入一些记录。查询如下:mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('Larry',1);

    mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('John',2);

    mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('Larry',3);

    mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('Larry',10);

    mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('Carol',11);

    mysql> insert into selectDistinct_CountDemo(Name,AppearanceId) values('Larry',15);

    使用select语句显示表中的所有记录。查询如下:mysql> select *from selectDistinct_CountDemo;

    以下是输出:+----+-------+--------------+

    | Id | Name  | AppearanceId |

    +----+-------+--------------+

    |  1 | Larry |            1 |

    |  2 | John  |            2 |

    |  3 | Larry |            3 |

    |  4 | Larry |           10 |

    |  5 | Carol |           11 |

    |  6 | Larry |           15 |

    +----+-------+--------------+

    6 rows in set (0.00 sec)

    这是选择不重复和计数的查询:mysql> select Name,count(*) as TotalAppearance from selectDistinct_CountDemo

    -> group by Name;

    以下是输出:+-------+-----------------+

    | Name  | TotalAppearance |

    +-------+-----------------+

    | Larry |               4 |

    | John  |               1 |

    | Carol |               1 |

    +-------+-----------------+

    3 rows in set (0.00 sec)

    展开全文
  • SELECT DISTINCT **列名称** FROM **表名称** 例: "test"表 从 “Customer” 列中选取所有的值: SELECT Customer FROM test 结果: 从Customer列中仅选取唯一不同的值 SELECT DISTINCT Customer FROM test ...
  • 存在数据表test_table如下,想只对value字段筛选并去重,结果显示去重后的value列和对应的id列(id显示3或4都可以)idvalue1a2b3c4c5e5f可以看到表中的value字段有重复,如果想筛选去重,使用select distinct语句如下...
  • SELECT DISTINCT 语句(去重)

    千次阅读 2019-11-26 14:14:35
    SQL SELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 语法: SELECT DISTINCT 列名称 FROM 表名称 ...
  • 首先,明确含义:SELECT DISTINCT 语句用于返回唯一不同的值 然后举一些例子说明一下使用场景: 场景:班级学生表(student)里有三列,分别是学号(stunum)、姓名(stuname)、来自省份(province),需要统计一下...
  • 问题描述: PostgreSQL 中使用distinct on() 分组时报错 ...select DISTINCT ON(p.person_id) p.person_id as personId, p.person_type as personType, p.job_number as jobNumber, p.name, p.idcard
  • 主要介绍了SQL中distinct的用法 ,需要的朋友可以参考下
  • SQL SELECT DISTINCT 语法  SELECT DISTINCT语法用于仅返回不同的(different)值。  在一张表内,一列通常包含许多重复的值;有时你只想列出不同的(different)值。  SELECT DISTINCT语句用于仅返回不同的...
  • MySQL Select Distinct什么意思

    千次阅读 2020-04-27 11:28:00
    用来过滤重复值,并且返回唯一的值,比如一个表 Table_1: V1 V2 A 1 B 2 C 3 A 4 B 5 答: SELECT DISTINCT V1 FROM Table_1 V1 A B C
  • select distinct*from table_6 --distinct去掉重复值 select *from table_6 where ok = (select ID from Table_1 where NAME=(select NAME from Table_1 where ok=789) ) --如果子查询返回的值为多个时、就不能用=...
  • sql使用小技巧之SELECT DISTINCT的用法

    万次阅读 2018-09-06 10:24:10
    SELECT DISTINCT 语句用于返回唯一不同的值,在表中,一个列可能会包含多个重复值,有时我们希望仅仅列出不同(distinct)的值,所以就应用到了,来看下它的语法: SELECT DISTINCT column_name,column_name FROM ...
  • 总的思路就是先找出表中重复数据中的一条数据,插入临时表中,删除所有的重复数据,然后...select distinct * from table 2.id列不同,id类型为int,自增字段,使用聚合函数max或其他 select * from table where id in(...
  • 问题描述: ...1、在SQL Server中同时使用select distinct 和order by 时,order by 中出现的字段必须出现在select distinct 中,否则会报错。 select distinct t1.username from users t1 left
  • 今天做了一个需求,然后自测的时候发现实际条数与count条数不一致,count条数明显要多,...SELECT DISTINCT COUNT(*) FROM USER a LEFT JOIN user_action_statistics b ON a.row_id = b.quantum_user_id LEFT JOIN
  • 1 Insert into table1 (code)(select distinct code from table2) 上面的数据执行提示错误,我们选中后半部分查询,发现数据正常,code是唯一的 1 Create table table3 as select distinct code from table2; 2 ...
  • SQL语法:SELECT / SELECT DISTINCT / WHERE

    千次阅读 2018-08-22 19:04:54
    SELECT DISTINCT 语法: WHERE 语句: SELECT 语法: SELECT column_name, column_name FROM table_name; 与 SELECT * FROM table_name SELECT DISTINCT 语法: SELECT DISTINCT column_name, column_n...
  • 在千万条数据的数据表中, 使用select count(distinct...应该使用 select count(*) from (select distinct col_name,... from table) as temp; 这样的查询时间将大大的缩短。   详细分析 讨论分析      ...
  • 所有数据 create table abc(id int, value int); select id, value from abc; +------+-------+ | id | value | +------+-------+ | 0 | 0 | | 1 | 0 | | 2 | 1 | | 3 | 2 | | 4 | ...
  • SELECT distinct example_column1 FROM test.example_table where delisting_date>now() and product ='CU.SHF' ORDER BY `example_column2` ASC; 报错信息如下:(MySQL-8.0.16可以正常运行,MySQL-5.7报错) ...
  • SQL SELECT DISTINCT 语句和Limit的用法

    千次阅读 2018-08-27 18:36:34
    1.SQL SELECT DISTINCT 语句 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。 关键词 DISTINCT 用于返回唯一不同的值。 "Orders"表: Company ...
  • 问题描述: hive执行INSERT OVERWRITE TABLE操作时在最后阶段任务出现报错: ... MetaException(message:Exception thrown when executing query : SELECT DISTINCT 'org.apache.hadoop.hive.metastore.model.
  • 先用position对其分组,然后使用DISTINCTSELECT jobid,max(iskeeper) FROM `user` WHERE `iskeeper` != 0 group by position
  • select distinct id,name from t1 可以取多个字段,但只能消除这2个字段值全部相同的记录 所以用distinct达不到想要的效果,用group by 可以解决这个问题。 例如要显示的字段为A、B、C三个,而A字段的内容不能重复...
  • 在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。...语法:SELECT DISTINCT 列名称 FROM 表名称eg:select distinct name from A从A表中查询出来名字唯一同值...
  • 解决办法:sqlserver中如果同时用order by和distinct,那order by后面的字段就必须出现在selcet的字段中。这个问题只有在sqlserver中才会有,mysql中是不会有这个问题的。...select distinct id,name from us...
  • oracle 中select distinct 和order by 的问题

    千次阅读 2018-04-26 14:02:51
    执行SQL: [sql] view plain copyselect distinct name from tableName order by id 原本想过滤name字段重复值,并按照id进行排序,但是SQL报错,无法执行。网上搜到解释如下:在 ordere by 中指定多个列...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,057
精华内容 113,622
关键字:

selectdistinct

友情链接: C1.rar