计算具有不同列名的多个表中相同值出现的次数

问题描述 投票:0回答:1

这就是问题所在。我有两张桌子 -

ps5
xbox
:-

id ps5_游戏
约翰 货到付款
侠盗猎车手
卡什 货到付款
PVZ
特雷
内特 加州大学
id xbox_游戏
贾维斯 加州大学
卡尔
达蒙 货到付款
唐尼
旅游
纳蒂 加州大学

现在,我需要获取

ps5_game
xbox_game
中每个值出现的次数,分布在两个表中,并按降序排序。 id 下的值并不重要。预期的结果有点像这样:-

游戏 发生
4
货到付款 3
加州大学 3
侠盗猎车手 1
PVZ 1

这是我尝试过的:-

(SELECT 
  ps5_game, COUNT(*) AS occ 
  FROM ps5 
  GROUP BY ps5_game
) 
UNION 
(SELECT 
  xbox_game, COUNT(*) AS occ 3
  FROM xbox 
  GROUP BY xbox_game
)
ORDER BY occ DESC

现在的问题是我确实得到了出现的次数,但这并没有合并同一游戏的出现次数。因此,我没有显示

GOW
,而是显示以下内容:-

ps5_游戏高货到付款高
奥克
1
1
3
因此,不是将两个表中的 1+3 相加,而是单独显示。谁能告诉我如何实现?

sql mysql union
1个回答
0
投票
4

来实现。

JOIN

	
© www.soinside.com 2019 - 2024. All rights reserved.