mysql - sql中更新语句中的算术

标签 mysql sql sql-update

我真的无法理解这个更新sql语句。

我有以下复印表和租赁表架构:

复制 ( 副本 ID , 电影 ID , 分支 ID , 主键(copy_id));

租赁 ( 客户ID, 副本 ID , 过时的, 归期 , 主键(customer_id、copy_id、outdate));

同一部电影会有多个副本。对于单个 movie_id,我们可以有多个 copy_id。 电影的每个副本都有一个全局唯一的 copy_id。因此,两部不同电影的副本不能具有相同的 copy_id。

有多个分支拥有电影的副本,并且 copy_id 当然是唯一的。

如果已租借多次,同一部电影和副本肯定会出现在多次租借中。

我需要编写一份更新声明,例如 - 假设我们在分支机构有 10 部电影副本,时间跨度为 30 天,因此在 300 个租赁天(30 天 * 10 部副本)中,副本需要出租时间至少为 290 天。如果这是真的,那么我需要在该分支添加该特定电影的另一个副本。

我试图以尽可能最好的方式解释这个问题。简而言之,如果电影 90% 的时间是在分店出租的,我需要添加一份副本。

最佳答案

按branch_id、movie_id从副本组中选择branch_id、movie_id、count(*)

this query is branchs movie count. maybe you already have branch table, use that.

SELECT DATE_FORMAT(outdate, '%Y%m'),branch_id, movie_id, SUM(DATEDIFF(returndate , outdate)) FROM copy AS c INNER JOINrent AS r ON c.copy_id = r.copy_id GROUP BY DATE_FORMAT(outdate, '%Y%m'),c.branch_id, c.movi​​e_id

this query is monthly rental time per branch and movie.

该查询是计算的基本查询。你可以做出像

这样的逻辑

如果每月租赁时间+新租赁时间>分支机构租赁限制

( 添加新的复制请求 )

关于mysql - sql中更新语句中的算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26964293/

相关文章:

mysql - 从table1中选择列连接table2,花费很长时间

mysql - 如何将分钟数转换为 hh :mm format in SQL?

c# - gridview 中的排序日期问题

php - Like 在连接条件的更新查询中未按预期工作

sql - PostgreSQL 在 JSONB 数据中以文本形式查找和替换

mysql - 如何通过 SQL 查询获得正确的库存演变?

php - MySQL任务的即时可视化

mysql - 如何更新给定选择条件返回真值的位置?

mysql - 防止空值被插入到主键列的表中

mysql - 复杂连接和选择查询