我有个疑问。
SELECT SUM(brownlow_votes) AS votes,
player_id,
player_name,
player_team,
COUNT(*) AS vote_count
FROM afl_brownlow_phantom, afl_playerstats
WHERE player_id=brownlow_player
AND brownlow_match=player_match
GROUP BY player_id
ORDER BY votes DESC LIMIT 50因此," votes“表示球员的票数,"vote_count”表示球员被投票支持的次数(比赛)。这可以很好地工作。
但是,我还有另一个名为"brownlow_lock“的列,它要么是空白的,要么是'Y‘。如何获得'Y‘的出现次数?我知道我可以解决这个问题,把它改成0或1,然后做一个SUM(),但我不想去编辑大量插入数据的页面。
发布于 2011-03-29 05:02:46
如果我没理解错的话,你只需要添加
COUNT(CASE WHEN brownlow_lock='Y' THEN 1 END) AS Cnt到您的查询
发布于 2011-03-29 05:10:50
锁SELECT SUM(IF(brownlow=‘Y’,1,0)) lock_count ...
https://stackoverflow.com/questions/5465009
复制相似问题