首页 > 开发 > MySQL > 正文

mysql实现查询表中不同字段重复记录的次数?

2017-09-08 09:11:22  来源:网友分享

表user的内容

user_id user_hobby_1 user_hobby_2 user_hobby_3   1       唱歌         看书          跳舞  2       书法         唱歌          钢琴  3       看书         唱歌          美食

预期得到的结果

[1]唱歌[2]看书[3]……

就是在hobby1-3三个字段中重复出现次数最多的记录按次数降序查询。

本人小白。望牛人指点。

解决方案

表结构至少要符合第三范式
这个是不行的

这个表的情况,可以这样查询 (untested):

select hby, count(hby) as cnt from(select user_id, user_hobby_1 as hby from [user]unionselect user_id, user_hobby_2 as hby from [user]unionselect user_id, user_hobby_3 as hby from [user]) as T1order by cnt desc