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

Php 如果字段小于0且大于0,则MySQL选择需要计数,php,mysql,Php,Mysql,如果大于零且等于零,是否有方法编写mysql select语句来仅对特定的1字段运行计数 我可以写两条语句来实现这一点,但是否可以在一条语句中实现这一点。类似的内容可能是: 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 好吧,如果我正确

如果大于零且等于零,是否有方法编写mysql select语句来仅对特定的1字段运行计数


我可以写两条语句来实现这一点,但是否可以在一条语句中实现这一点。

类似的内容可能是:

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

好吧,如果我正确理解了你的问题,像这样的事情应该会起作用:

SELECT
   COUNT(Field)
FROM
   Table
WHERE 
   Field >= 0

从mytable中选择SUM(列>0时的大小写,列ELSE 0结束时的大小写),SUM(列<0时的大小写,列ELSE 0结束时的大小写)

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
SELECT COUNT(*) FROM Table WHERE Field > 0
UNION SELECT COUNT(*) FROM Table WHERE Field = 0