2

我有一个数据库表,我在其中保存玩家下注的逻辑如下:

在此处输入图像描述

对于每个match_id,该表当然会有几个user_id。我想显示用户如何下注。如果他们认为主队会赢输或平局。我希望它以百分比表示。

德国 - 法国 35% - 20% - 45%。

到目前为止,我已经设法使用以下查询计算了数量猜测,但没有计算百分比:

SELECT games.home_team,games.away_team,COUNT(*) as 'qty',user_result_bet.match_id,(
CASE
WHEN `home_score` > `away_score` THEN 'home'
WHEN `home_score` < `away_score` THEN 'away'
ELSE 'draw'
END) as 'tipped_result'
FROM user_result_bet,GAMES
WHERE games.match_id = user_result_bet.match_id
GROUP BY tipped_result, match_id
ORDER BY match_id

我从这里去哪里?我想以某种方式将其转换为百分比?我在网站上使用 PHP

4

2 回答 2

1

如果你需要使用计数

SELECT user_result_bet.match_id,COUNT(*) as 'qty',

count(if(`home_score` > `away_score`,1,null))/count(*)*100 as home_percent,
count(if(`home_score` < `away_score`,1,null))/count(*)*100 as away_percent,
count(if(`home_score` = `away_score`,1,null))/count(*)*100 as draw_percent
from wherever
group by 1
于 2013-09-27T10:43:00.050 回答
0
SUM(CASE WHEN `home_score` > `away_score` THEN 1 ELSE 0 END)/COUNT(*) AS PercentageHome
于 2013-09-27T10:43:39.730 回答