Dan*_*npe 8 sql sql-server select count
我想计算所有只有我想要的值的行:
SELECT Users.Balance,
Users.FreeBids,
COUNT(Bids.Burned = 0) AS 'ActiveBids',
COUNT(Bids.Burned = 1) AS 'BurnedBids'
FROM Users
INNER JOIN Bids
ON Users.ID = Bids.BidderID
WHERE Users.ID = 2
GROUP BY Users.Balance,
Users.FreeBids
Run Code Online (Sandbox Code Playgroud)
它说" Invalid Syntax Neat '='没有'='就可以完美地工作.我如何计算Burned = 1并且Burned = 0的行?
谢谢,丹
Mar*_*ith 18
使用CASE声明
COUNT(CASE WHEN Bids.Burned=0 THEN 1 END) AS 'ActiveBids',
COUNT(CASE WHEN Bids.Burned=1 THEN 1 END) AS 'BurnedBids'
Run Code Online (Sandbox Code Playgroud)
有隐含的ELSE NULL.COUNT只计算NOT NULL值,这样就可以得到你需要的结果.