首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php选择每种类型之一

Php选择每种类型之一
EN

Stack Overflow用户
提问于 2016-02-26 22:18:41
回答 4查看 43关注 0票数 0

例如,我有很多用户,他们每个人都选择了他们喜欢的游戏,现在在他们推荐的mysql行中(竖起拇指)。示例数据库:

(昵称):Leonard,(推荐):999,(游戏):Mario;(昵称):Nikky,(推荐):1999,(游戏):回击(昵称):Sam,(推荐):199,(游戏):AION

现在我要做的是为每个游戏选择最推荐的用户,而不做双倍的mysql请求,这可能吗?

从用户推荐的DESC命令中选择*

这只是显示所有的建议数量排序,但我想要的是显示1与最多的建议为每个游戏,因为有许多用户有一堆推荐相同的游戏。

EN

回答 4

Stack Overflow用户

发布于 2016-02-26 22:27:51

可以使用GROUP BY子句根据一列组合多条记录,并使用COUNT()进行计数。很难不看到完整的模式,但如下所示:

SELECT users.*, COUNT(users.recommends) AS total_recommends FROM users ORDER BY recommends DESC GROUP BY game

票数 1
EN

Stack Overflow用户

发布于 2016-02-26 22:34:07

你可以用组。

代码语言:javascript
复制
SELECT users.*, MAX(user.recommends) AS maxrec GROUP BY game;
票数 1
EN

Stack Overflow用户

发布于 2016-02-26 22:47:41

代码语言:javascript
复制
SELECT t1.*
FROM users AS t1
LEFT JOIN users AS t2
ON t1.game = t2.game AND t1.recommends < t2.recommends
WHERE t2.recommends IS NULL

小提琴演示:http://sqlfiddle.com/#!9/43486/13/0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35662795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档