是否可以在select语句中做一些循环?

例:
代替

select (select count(*) from price_list where price between 0 and 1), as 1,
(select count(*) from price_list where price between 1 and 2) as 2,
(select count(*) from price_list where price between 2 and 3) as 3);


(以及更多嵌套的select语句)来做这样的事情

select @SOME_FUNCTION_WHICH_REPEAT_CODE_WITH_DISTINCT_VALUES


我知道用while循环来做到这一点,但我想在单个查询中得到结果...

最佳答案

您更有可能使用类似这样的条件聚合

select sum(case when price between 0 and 1 then 1 else 0) as '1',
       sum(case when price between 1.1 and 2 then 1 else 0) as '2'
etc


但是我想的问题是,您想要多少个范围,从什么开始,然后以什么递增。如果您添加了示例数据并说明了您想要的内容,而不是问一个封闭的问题,那将会有所帮助。

关于mysql - 在部分select语句中循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57215940/

10-16 19:52
查看更多