如何解决如何使用等级摆脱重复的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 举报,一经查实,本站将立刻删除。