如果字段小于0且大于0,则MySQL select需要计数

时间:2012-05-21 20:28:49

标签: php mysql

有没有办法写一个mysql select语句来运行一个特定的1字段的计数,如果大于零且等于零。

我可以编写2个语句来实现这一点,但是可以在一个语句中完成它。

4 个答案:

答案 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