有没有办法写一个mysql select语句来运行一个特定的1字段的计数,如果大于零且等于零。
我可以编写2个语句来实现这一点,但是可以在一个语句中完成它。
答案 0 :(得分:14)
或许这样的事情:
SELECT SUM(CASE WHEN x > 0 THEN 1 ELSE 0 END) as GreatherThanZero
, SUM(CASE WHEN x = 0 THEN 1 ELSE 0 END) as EqualZero
FROM table
WHERE x >= 0
答案 1 :(得分:5)
是
SELECT COUNT(*) FROM Table WHERE Field > 0
UNION SELECT COUNT(*) FROM Table WHERE Field = 0
答案 2 :(得分:1)
是
SELECT SUM(CASE WHEN column > 0 THEN column ELSE 0 END CASE), SUM(CASE WHEN column < 0 THEN column ELSE 0 END CASE) FROM mytable
答案 3 :(得分:0)
好吧,如果我理解你的问题,这样的事情应该有效:
SELECT
COUNT(Field)
FROM
Table
WHERE
Field >= 0