表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