微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用等级摆脱重复的ID?

如何解决如何使用等级摆脱重复的ID?

我有以下两个表:

id  | age  | sex  | key  | sport
293   22     m      a     soccer
987   25     f      b     track
501   27     m      c     swimming 
293   22     m      a     soccer
098   31     f      d     soccer
501   27     m      c     swimming
501   27     m      c     swimming
...

key | name 
a     ed
b     meg
c     ben 
a     ed
d     jenny
c     ben
c     ben
....

我不要任何重复的ID行。 我想要这样的东西:

id  | Name | age  | sex  | key  | sport
293   ed      22     m      a     soccer
987   meg     25     f      b     track
501   ben     27     m      c     swimming 
098   jen     31     f      d     soccer

我写了一个查询,但是没有删除ID的重复行。 我也尝试按方法进行区分和分组,但仍然不会删除重复的ID。

我尝试过:

SELECT disTINCT tb1.id,tb1.age,tb2.name,tb1.sport
FROM table1 
INNER JOIN tb2 ON tb1.key = tb2.key

我在做什么错?我尝试按方法进行区分和分组,但仍给我重复项。

解决方法

SELECT DISTINCT tb1.id,tb1.age,tb2.name,tb1.sport 从table1

此子句将选择这4列的不同组合,而不仅仅是ID。

从上表中: 它将以下两行视为不同的:-

   a   22   ed   soccer
   a   22   ed  (if any other sport ed plays)

我找到了类似的帖子,可能对您有所帮助: SELECT DISTINCT on one column,with multiple columns in mysql

,

重复ID的原因是第二个表中的行也重复。 因此,您只能像这样在第二张桌子上区分

SELECT tb1.id,tb1.age,tb2.name,tb1.sport
FROM table1 
INNER JOIN (SELECT DISTINCT key,name FROM tb2) AS t2 ON tb1.key = t2.key

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。