结合SQL查询我有以下两个查询:为大于和小于成一个
select count * form a where temp>str group by x,y
select count * form a where temp<=str group by x,y
这个结果表的解析两次。由于表格大小为100个演出,我想如果我们可以减少这个单一的查询。
结合SQL查询我有以下两个查询:为大于和小于成一个
select count * form a where temp>str group by x,y
select count * form a where temp<=str group by x,y
这个结果表的解析两次。由于表格大小为100个演出,我想如果我们可以减少这个单一的查询。
试试这个:
SELECT
SUM(CASE WHEN `temp` > `str` THEN 1 ELSE 0 END) AS `greater`,
SUM(CASE WHEN `temp` < `str` THEN 1 ELSE 0 END) AS `less`
FROM
`a`
GROUP BY
`x`,
`y`
select sum(IF(temp>'str',1,0)) as GREATER,
sum(IF(temp<'str',1,0)) as LESSER
from a
group by x,y
这将返回一个单行两个领域,更大和更小,其中包含分别比字符串大,小行数的计数。
如果(temp>'str',1,0))返回1,如果更大,否则返回0.总结这些值将给出更大的rwos总数。
IF(temp <'str',1,0))返回1如果更小,否则返回0.总结这些值将给出更小的rwos总数。
你能解释一下查询吗?结果集将如何显示? –
你能解释一下查询吗?结果集将如何显示? –