gpt4 book ai didi

php - 使用 MySQL 进行简单的统计页面排名

转载 作者:行者123 更新时间:2023-11-29 13:46:12 27 4
gpt4 key购买 nike

出于某种原因,这看起来很容易,但我无法弄清楚。所以我有一个名为“contest_entries”的表,其中有“用户名”和“评级”列。

表格内容如下:

Username | rating | Contest_id
John | 3 | 4
Mike | 1 | 4
Eric | 3 | 5
Mike | 1 | 6
John | 2 | 7
Mike | 1 | 8
John | 1 | 9

因此,对于不同的比赛,人们可以安排不同的位置,

我的问题是如何显示用户名赢得了多少场比赛,获得第二名或第三名(获得第一名,又名评级 = 1,第二名评级 = 2,第三名评级 = 3)并列出所有用户名也是如此,即使用户名从未占据过第一、第二、第三。然后最后根据谁获胜次数最多(谁拥有最多“评级=1”)对它们进行排名。

所以它看起来像这样:

Username   |  Ranking | 1st places | Second Places | Third Places
Mike | 1 | 3 | 0 | 0
John | 2 | 1 | 1 | 1
Eric | 3 | 0 | 0 | 1

etc etc.

最佳答案

SELECT x.username
, COUNT(CASE WHEN rating = 1 THEN 'foo' END) first
, COUNT(CASE WHEN rating = 2 THEN 'foo' END) second
, COUNT(CASE WHEN rating = 3 THEN 'foo' END) third
FROM ratings x
GROUP
BY username;

关于php - 使用 MySQL 进行简单的统计页面排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17383596/

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