このクエリを正しく注文できるようにするのに苦労してstakes
います-descでもascでもない値を返します。wins
order by を使用すると動作します。おそらく、MySQL は集計を作成するときにソート順を評価しなかったのでしょうか?
読みにくくするために、フルネームの一部を削除しました。
SELECT a.b AS t , COUNT( c.aID ) AS r ,
COUNT(
CASE WHEN c.Finish =1
THEN 1
ELSE NULL
END ) AS wins ,
CONCAT( FORMAT( (
COUNT(
CASE WHEN c.Finish =1
THEN 1
ELSE NULL
END ) / COUNT( c.aID ) ) *100, 0 ) , '%'
) AS Percent ,
FORMAT( SUM( c.StakeWon ) , 0 ) AS stakes
FROM c
INNER JOIN a ON c.aID = a.aID
INNER JOIN d ON c.dID = d.dID
WHERE d.w >= STR_TO_DATE( '2012,07,01', '%Y,%m,%d' )
AND d.w < STR_TO_DATE( '2012,07,01', '%Y,%m,%d' ) + INTERVAL 1
MONTH
GROUP BY a.b
ORDER BY stakes DESC`
で注文しても機能しませんPercent
。ここでこの質問をしたくありませんでしたが、これは私を夢中にさせています。