表user的内容
user_id user_hobby_1 user_hobby_2 user_hobby_3
1 唱歌 看书 跳舞
2 书法 唱歌 钢琴
3 看书 唱歌 美食
预期得到的结果
[1]唱歌[2]看书[3]……
就是在hobby1-3三个字段中重复出现次数最多的记录按次数降序查询。
本人小白。望牛人指点。
表user的内容
user_id user_hobby_1 user_hobby_2 user_hobby_3
1 唱歌 看书 跳舞
2 书法 唱歌 钢琴
3 看书 唱歌 美食
预期得到的结果
[1]唱歌[2]看书[3]……
就是在hobby1-3三个字段中重复出现次数最多的记录按次数降序查询。
本人小白。望牛人指点。
首先我认为你这样的表设计很有问题,应该将hobby单独做成一个表,这样进行选择就非常方便,扩展性也很完备。
但如果你一定要用这样的方法。目前看来应该需要先用行转列,然后在group by 一下
5 回答3.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
1 回答2.9k 阅读✓ 已解决
5 回答1.4k 阅读
表结构至少要符合第三范式
这个是不行的
这个表的情况,可以这样查询 (untested):