gpt4 book ai didi

php - 关于 SQL 错误的困惑

转载 作者:行者123 更新时间:2023-11-29 11:43:34 25 4
gpt4 key购买 nike

我对 PHP 中的 sql 语句有点困惑,因为我不使用 GROUP BY 函数。我正在尝试确定参加至少 10 场比赛的球员。因此,我在请求 COUNT(DISTINCT(gameid)) > 9 中添加以下内容,然后收到此 SQL 错误。

SELECT 
SUM(kills) as sum_kills,
SUM(deaths) as sum_death,
SUM(teamkills) as sum_teamkills,
SUM(suizide) as sum_suizide,
SUM(points) as sum_points,
aliases.hash as name,
aliases.rang as rang,
COUNT(DISTINCT(gameid)) as sum_games,
playerid
FROM
stats_rounds_players,
aliases
WHERE
aliases.id = playerid
AND COUNT(DISTINCT(gameid)) > 9
AND aliases.hash != ''
GROUP BY
playerid
ORDER BY
sum_points DESC

我收到以下错误消息:

#1111 - Invalid use of group function

如果您需要更多信息,请告诉我。

最佳答案

您需要对 WHERE COUNT(DISTINCT(gameid)) > 9 使用 HAVING,因为您不能将 WHERE 与聚合一起使用

See here

The HAVING clause was added to SQL because the WHERE keyword could not be used with aggregate functions.

类似(未测试):

SELECT 
SUM(kills) as sum_kills,
SUM(deaths) as sum_death,
SUM(teamkills) as sum_teamkills,
SUM(suizide) as sum_suizide,
SUM(points) as sum_points,
aliases.hash as name,
aliases.rang as rang,
COUNT(DISTINCT(gameid)) as sum_games,
playerid
FROM
stats_rounds_players,
aliases
WHERE
aliases.id = playerid
AND aliases.hash != ''
GROUP BY
playerid
HAVING
COUNT(DISTINCT(gameid)) > 9
ORDER BY
sum_points DESC

关于php - 关于 SQL 错误的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com