如何把同一用户在两张表的用户习惯统计出排名?

baidu_28726667 2019-01-25 11:53:36

t_drink
序号 /用户名 /饮料
seq_no/user_name/drink
'1', 'user_1', 'cola'
'2', 'user_1', 'milk_tea'
'3', 'user_1', 'milk_tea'
'4', 'user_1', 'milk_tea'
'5', 'user_1', 'milk_tea'
'6', 'user_1', 'coffee'
'7', 'user_1', 'cola'
'8', 'user_1', 'coffee'
'9', 'user_1', 'cola'
'10', 'user_1', 'cola'
'11', 'user_1', 'cola'
'12', 'user_1', 'cola'
'13', 'user_1', 'latte'
'14', 'user_1', 'latte'
'15', 'user_1', 'latte'
'16', 'user_1', 'latte'
'17', 'user_1', 'black tea'
'18', 'user_1', 'black tea'
'19', 'user_1', 'black tea'
'20', 'user_1', 'black tea'
'21', 'user_1', 'black tea'
'22', 'user_1', 'black tea'
'23', 'user_1', 'black tea'

t_food
序号 / 用户名 /食品
seq_no/user_name/food/
'1', 'user_1', 'bread'
'2', 'user_1', 'bread'
'3', 'user_1', 'bread'
'4', 'user_1', 'bread'
'5', 'user_1', 'bread'
'6', 'user_1', 'sugar'
'7', 'user_1', 'apple'
'8', 'user_1', 'sugar'
'9', 'user_1', 'sugar'
'10', 'user_1', 'sugar'
'11', 'user_1', 'cookies'
'12', 'user_1', 'cookies'

一张表 统计食品 前三能写出来:
select user_name,eat, count(*) as count_eat from t_food where user_name ="user_1" group by eat order by count_eat desc

结果:
用户名 / 食品/ 购买次数
'user_1', 'bread', '5'
'user_1', 'sugar', '4'
'user_1', 'cookies', '2'
'user_1', 'apple', '1'


但是同时统计食品和饮品前三怎么写都报错...因该怎样写呢?
select a.user_name,a.eat,b.drink from t_food a, t_drink b where a.user_name ="user_1" and a.user_name = b.user_name
...全文
41 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧