SELECT SUM(IF(item_num > 0, 1, 0)) AS buysplus, SUM(IF(item_num < 0, 1, 0)) AS buysminus, SUM(IF(item_num = 0, 1, 0)) AS buyszero FROM MyShop.Sales
or even less verbal version:
SELECT SUM(item_num > 0) AS buysplus, SUM(item_num < 0) AS buysminus, SUM(item_num = 0) AS buyszero FROM MyShop.Sales
this will give yo result as below
buysplus buysminus buyszero 4 2 3
Another option is a transposed version
SELECT item_num AS buys, COUNT(1) AS volume FROM MyShop.Sales GROUP BY 1
with the result below
buys volume 0 3 1 4 -1 2
source share