【发布时间】:2020-09-16 05:02:36
【问题描述】:
我有这张桌子:
CREATE TABLE football_teams ( player_id text, name text, team text
);
INSERT INTO football_teams
VALUES
('010', 'Messi', 'Barcelona'),
('007', 'Sancho', 'Dortmund'),
('011', 'Werner', 'Chelsea'),
('001', 'De Gea', 'Manchester United'),
('009', 'Lewandowski', 'Bayern Munich'),
('006', 'Pogba', 'Manchester United'),
('017', 'De Bruyne', 'Manchester City'),
('029', 'Harvertz', 'Bayer Leverkusen'),
('011', 'Werner', 'Liverpool'),
('007', 'Sancho', 'Manchester United'),
('005', 'Upamecano', 'Leipzig'),
('010', 'Messi', 'Manchester City'),
('014', 'Aubameyang', 'Arsenal');
我希望每个球员在一张新桌子上只出现一次。例如,梅西出现了两次,但我想在新表中出现任何梅西。 我不确定如何将其转换为 Hive 或 mysql。这就是我想要的结果:
player_id name team
010 Messi Barcelona
007 Sancho Dortmund
011 Werner Chelsea
001 De Gea Manchester United
009 Lewandowski Bayern Munich
006 Pogba Manchester United
017 De Bruyne Manchester City
029 Harvertz Bayer Leverkusen
005 Upamecano Leipzig
014 Aubameyang Arsenal
【问题讨论】:
-
我不确定您是否已经测试了该查询,但在您将
player_id放入 order by 子句之前它不会起作用。但是,您在预期结果中显示的顺序重要吗? -
但我只想在新表中取第一次出现“第一次”一词需要在某些行排序(视觉占有排序是假的,不能适用于此目的),它提供了排序唯一性。在您的表格中,唯一提供此排序的排序顺序是
ORDER BY team [ASC | DESC]- 但我怀疑此排序是否是您需要的。 -
@Akina 我制定了结果。它不是来自查询。第一次出现并不重要,我只希望每个玩家只出现一次。
-
@learning_2_code,如果顺序对您来说并不重要,那么@Fahmi 提供的答案有什么问题?它没有给你预期的结果吗?
-
第一次出现并不重要,我只是希望每个玩家只出现一次如果是这样,你真的需要在
team列吗?
标签: mysql sql hive count hiveql