mysql分组查询并获取每组出现频率第一的值

抹布斯基 发布于 2015/12/05 17:00
阅读 347
收藏 0


数据库结构如图


想要按照以下的条件查询

  1. 按照firsttagid的数量降序排列,比如tagid:42(5次)>tagid:30(4次)>tagid:51(3次)

  2. 然后每个tagid的分组里面要按uid的出现次数降序排列,比如tagid 30的里面uid为1的用户出现了4次(取这个uid为1的),tagid42 里面uid为3的用户出现了4次,uid为1的用户出现了1次,取uid为3出现4次的


请问各位老师和前辈怎么写这个mysql语句呢?

加载中
1
吐槽的达达仔
吐槽的达达仔

先写个group by,算出每个tagid对应的数量。

然后再用mysql版本的row_number()写法。。

详见

http://mrcelite.blog.51cto.com/2977858/745913

返回顶部
顶部