sql语句要select某字段不重复的数据应该如何写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句要select某字段不重复的数据应该如何写?相关的知识,希望对你有一定的参考价值。

比如某数据表有三个字段A,B,C如下:

A B C
1 2 3
1 2 3
2 2 3
3 2 3
3 2 3
3 2 3

我希望得到字段A不重复的所有数据,应该怎么写?
也就是最后得到
1 2
2 2
3 2
你们说的都是错的,我要A不重复,也就是说A有3个重复的话只取一个,并且不影响到B和C的

sql语句要select某字段不重复数据的步骤如下:

我们需要准备的材料分别是:电脑、sql查询器。

1、首先,打开sql查询器,连接上要查询的数据库表,例如test2表。

2、点击“查询”按钮,输入:select A,B,C from test2 group by A;。

3、点击“运行”按钮,这时字段A会以不重复的形式被查询出所有数据。

参考技术A

1、右键要设置主键的表,选择【设计】,进入表设计窗口。

2、在表设计窗口,选择一行或者Ctrl+鼠标可以多选行,右键选择【设为主键】。

3、如果已经设置有主键,则需要先删除主键, alter table 表名 drop constraint 主键名称。

4、展开表的【索引】菜单,右键【新建索引】,进入索引创建界面。

5、数据库唯一索引 - SQL语句设置。

6、插入前先判断记录是否存在,存在就修改,不存在就新增。

7、插入前先判断记录是否存在,不存在就新增,存在就抛弃这条记录。

参考技术B

sql语句要select某字段不重复的数据使用distinct关键字,例如从 Company" 列中仅选取唯一不同的值使用以下SQL:

SELECT DISTINCT Company FROM Order;

题主的问题B、C字段数据都相同,可以使用select distinct A,B from table_name 来实现。

扩展资料

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

语法:

SELECT DISTINCT 列名称 FROM 表名称

用法注意:

1、distinct 【查询字段】,必须放在要查询字段的开头,即放在第一个参数;

2、只能在SELECT 语句中使用,不能在 INSERT, DELETE, UPDATE 中使用;

3、DISTINCT 表示对后面的所有参数的拼接取 不重复的记录,即查出的参数拼接每行记录都是唯一的;

4、不能与all同时使用,默认情况下,查询时返回的就是所有的结果。

参考技术C 他们写的,针对你这组数据可行
但是按照你描述的,这么写好像不太好

select A,MAX(B) from 表名
这样才是你要的A不重复的数据,但是对于字段B来说,我只取了最大的那个
参考技术D 有数据库常识的人都知道,,,,,,
你所谓的“不影响到B和C” 能实现么?????

除非B和C列所有值都一样。。。。。。(这样的话,就是网友的推荐答案)

再不就是在程序的数组里控制了,。。。。。。。。。

兄弟,,,问问题也要考虑可行性 。。。。。

JPA 查询部分字段

参考技术A JPA默认得查询会把表里所有数据字段都返回
这样会带来一些问题
1.数据量大的字段会导致mysql I/O问题
2.一些敏感的信息我们不应该直接返回给用户,这样的话我们查出来数据后还得手动过滤一遍

但是JPA在这方面并没有支持得很好,而mybatis可以利用resultMap,resultType
那么JPA里面要怎么做呢
一种是利用jpa的@Query

当然我们首先要创建要返回数据的DTO对象
然后使用HQL语句封装。
不我们可以看看JPA生成的sql

第二种是利用entityManager

生成的sql

以上是关于sql语句要select某字段不重复的数据应该如何写?的主要内容,如果未能解决你的问题,请参考以下文章

sql根据某一个字段重复只取第一条数据

MySQL根据某一个或者多个字段查找重复数据的sql语句

急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

如何查询mysql字段记录为NULL的数据

Sql语句查询某列A相同值的另一列B最大值的数据

sql语句去重