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

場合は count を使用する必要があります

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 に答える