gpt4 book ai didi

mysql - 将具有总和值的字段更改为各个条目

转载 作者:行者123 更新时间:2023-11-29 11:32:19 26 4
gpt4 key购买 nike

我有一个用于对项目进行评级的表格。字段 rating 包含一个我用来简单增加的数值。这种方法有其优点,但缺点是,我无法获得过去一个月/30 天的评分,因为我没有个人评分。

我如何浏览表格,检查评级值是否高于1,如果是的话,为每个评级添加一个新行?

例如现在的表

id | item_id | 评级

1   | 2198       | 42

所以我想要 42 个单独的条目。

问题:我可以只用mysql来做到这一点吗?

最佳答案

你需要一个存储过程来完成它,但你可以在mysql中完成它。

由于您没有添加表定义,我将假设 idauto_increment 键,并且您不想保留原始值。否则更改键或使用带有 auto_increment 键的新(临时)表。

DELIMITER $$

drop PROCEDURE if exists individualizemytable $$

CREATE PROCEDURE individualizemytable()
BEGIN
while (select count(*) from TheTable where rating > 1) do
insert into TheTable (item_id, rating)
select item_id, 1
from TheTable where rating > 1;
update TheTable
set rating = rating - 1
where rating > 1;
end while;
end $$

DELIMITER ;

call individualizemytable();

关于mysql - 将具有总和值的字段更改为各个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37207174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com