summary_20220809
select count from @table where id = @id;
是否只能用循环日期+动态 sql 处理?
伪代码如下:
create PROCEDURE findMaxDay(id INT, mouth VARCHAR(255);)
begin
-- 省略一些赋值
WHILE x <= 31 DO
set table_name = CONCAT('summary_',mouth, lpad(x,2,0));
-- 查询单表结果并赋值
set sql = CONCAT("select count INTO @tmp from '", table_name, "' where id = '", id,"'");
PREPARE stmt FROM @sql;
EXECUTE stmt;
deallocate prepare stmt;
-- 比较和更新结果
set @day = IF( @tmp > @max, lpad(x,2,0), @day);
set @max = max(tmp, max);
set x = x + 1;
END WHILE;
-- 输出结果
select day;
end
请大佬看看这样的思路对不对?有没有更好的方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.