php - MySQL "complex"SQL 查询中的计数

标签 php mysql sql

我有以下 SQL 查询:让我快速向您描述一下。我想开发一款足球技巧游戏。我有 4 个表:应用程序、提示、用户、游戏。

关系:

apps 1 to N users
user 1 to N tips
game 1 to 1 tip

我不想列出用户成功提示的所有游戏,而是只想列出 u.userId 以及成功提示的 COUNT 个。查看我的 SQL:

SELECT 
    t.*, u.*, g.*
FROM 
    tips AS t,
    users AS u, 
    games AS g
WHERE 
    u.userAppId = 4 AND
    t.tipUserId = u.userId AND
    g.gameResult = t.tipGameResult

我想我必须以某种方式实现 COUNT 和 u.userId 而不是

 t.*, u.*, g.*

但我不是 100% 确定该怎么做。您有什么建议吗?

最佳答案

SELECT 
u.userid, count(*)
FROM 
tips AS t,
users AS u, 
games AS g
WHERE 
u.userAppId = 4 AND
t.tipUserId = u.userId AND
g.gameResult = t.tipGameResult
group by u.userid

正如下面的评论中提到的,用户 ID 上的分组将为您提供

用户ID|计数(*)

关于php - MySQL "complex"SQL 查询中的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523564/

相关文章:

c# - 如何在 C# 中使用 Linq 在 Sql 中进行条件连接?

php - 在 MAMP 中更改 openssl 版本

php - 无法从使用 PASSWORD() 函数的数据库中提取信息

mysql - 将 PDF 文件保存在数据库或文件系统中

mysql - 分组依据给出了错误的标题

mysql:分割varchar值并插入部分

mysql - 在mysql中,如何将自动递增字段中的数据放入另一列中?

sql - 使用带有 CTE 的游标

PHP 连接 mysql 超时

php - SQL插入无法在PHP中工作