是否可以在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/