【发布时间】:2012-09-26 20:12:15
【问题描述】:
如果它们等于一个,我正在尝试使用计数案例来计算某个列(runs.Finish)中的记录。
当我像下面第三行一样添加计数案例时,我似乎无法让它工作。
SELECT
`jockeys`.`JockeyInitials`,
`jockeys`.`JockeySurName` ,
COUNT( `runs`.`JockeysID` ),
COUNT( CASE WHEN `runs`.`Finish`=1 THEN 1 ELSE NULL END ) AS `runs`.`Finish` ,
SUM( `runs`.`StakeWon` )
FROM runs, jockeys
WHERE `runs`.`JockeysID` = `jockeys`.`JockeysID`
AND `runs`.`JockeysID` >=1
AND `runs`.`JockeysID` <=100
GROUP BY `runs`.`JockeysID`
【问题讨论】:
-
我强烈建议您不要使用
FROM runs, jockeys隐式连接表示法,而是始终使用显式连接表示法,例如FROM runs JOIN jockeys ON runs.JockeysID = jockeys.JockeysID。为了阅读旧式 SQL,您需要了解其他表示法,但请注意不要自己使用它。 -
您还应该描述所发生的事情,而不是“我似乎无法让它工作”;它以什么方式不起作用?语法错误?结果错误?
-
这是一个语法错误,很抱歉含糊其辞。感谢您对明确加入的建议。