Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL:选择所有不包含重复数据的字段_Mysql_Sql - Fatal编程技术网

Mysql SQL:选择所有不包含重复数据的字段

Mysql SQL:选择所有不包含重复数据的字段,mysql,sql,Mysql,Sql,我有一个表,其中字段'code'=>002'重复数据 --------------------------- | # | code | name | value | ---------------------------- | 1 | 001 | A | 2 | | 2 | 002 | B | 4 | | 3 | 002 | B | 6 | | 4 | 003 | C | 3 | | 5 | 004 | D | 1

我有一个表,其中字段'code'=>002'重复数据

---------------------------
| # | code | name | value |
----------------------------
| 1 | 001  |  A   |   2   |
| 2 | 002  |  B   |   4   |
| 3 | 002  |  B   |   6   |
| 4 | 003  |  C   |   3   |
| 5 | 004  |  D   |   1   |
---------------------------
我所要做的就是删除重复数据并选择更高的值。结果是这样的

---------------------------
| # | code | name | value |
----------------------------
| 1 | 001  |  A   |   2   |
| 2 | 002  |  B   |   6   |
| 3 | 003  |  C   |   3   |
| 4 | 004  |  D   |   1   |
---------------------------
我尝试过使用DISTINCT进行查询,但只对单个字段显示。我真的没有办法显示没有重复数据的所有字段

请有人帮我弄清楚这件事


非常感谢。

此查询将为您提供值最大的确切记录(代码+名称)组合

Select a.* 
from
your_table_name a
inner join
(
Select code, max(value) as max_val
from your_table_name
group by code
) b
on a.code=b.code and a.value=b.max_val

如果您有任何问题,请告诉我

此查询将为您提供值最大的确切记录(代码+名称)组合

Select a.* 
from
your_table_name a
inner join
(
Select code, max(value) as max_val
from your_table_name
group by code
) b
on a.code=b.code and a.value=b.max_val

如果您有任何问题,请告诉我

如果记录有代码
002
,则
名称
字段将为
B
?列
#
不固定,是否安全?如果是这样,那么它是按
code
排序还是按表的行号排序?@finsanurpandi您如何决定值为6的记录是否必须来自值为2的记录??代码003的
#
值是3而不是4,它没有存储在表中??它只是一个行号??如果代码有两个相等的值怎么办?那么它们都是更高的值,对吗?在这种情况下,您需要选择哪一行?如果记录有代码
002
,则
名称
字段将是
B
?列
#
是不固定的,这样说是否安全?如果是这样,那么它是按
code
排序还是按表的行号排序?@finsanurpandi您如何决定值为6的记录是否必须来自值为2的记录??代码003的
#
值是3而不是4,它没有存储在表中??它只是一个行号??如果代码有两个相等的值怎么办?那么它们都是更高的值,对吗?在这种情况下,您需要选择哪一行?