Mi piacerebbe raggruppare tutti i valori negativi e tutti quelli che sono positivi, qualche idea su come farlo?MySql, come posso raggruppare per, in una query di selezione su positve o negative?
5
A
risposta
11
GROUP BY SIGN (campo) dovrebbe funzionare.
0
provare qualcosa di simile:
select count(*), IF(foo >= 0, "pos", "neg") as sign from test group by sign;
dove foo è la colonna con i valori positivi o negativi
EDIT: La soluzione di Stefan è più elegante e meglio se si vuole valori zero trattamento diverso da quello positivo e quelli negativi.
4
SELECT SUM(CASE WHEN SomeColumn < 0 THEN 1 ELSE 0 END) AS negative_values,
SUM(CASE WHEN SomeColumn >=0 THEN 1 ELSE 0 END) AS non_negative_values
FROM YourTable
+0
si preferisco questa risposta! +1 – Harish
2
La soluzione di Stefan sembra la migliore risposta finora. Se preferisci che 0 sia raggruppato con numeri positivi, puoi usare
GROUP BY `field` >= 0
bello anche quello! +1 – Harish