将每年可重复的值存储在MySQL数据库中
在过去的几天里,我一直将头撞在桌子上,因此,我转向Stack Overflow. 我正在使用的软件具有时间敏感数据.通常的解决方案是生效和到期日期.
这很容易.不幸的是,我们要求数据在未来很长时间内任意重复.换句话说,每个5月1日(从2000年开始)我们可能希望有效值为100,而每个11月1日我们可能希望将其更改为90. 可能很长一段时间(大于50年)都是如此,因此我不想只创建一百条记录.即,我不想这样做:
这些值也可能随时间变化. 2000年之前的值可能是恒定的(没有触发器),并且未来十年的值可能与上一个十年的值不同:
我们已经有一个文本文件(来自旧版应用程序),该文件以非常接近此格式的形式存储数据,因此尽可能紧密地遵循这种类型的结构有很多好处. 那么问题就出现在检索上:什么值将适用于今天(2010年3月9日)? 似乎最好的方法是查找(所有活动行中的)每个生效日期的最新实例,然后查看哪个实例最大.
由于2009-11-01晚于2009-05-01,因此今天的值是90. 例如,在2007-06-20上:
该值将为100,因为2007-05-01晚于2006-11-01. 使用MySQL日期函数,计算MOST_RECENT字段的最有效方法是什么? 或者,有人能想到一种更好的方法吗? 如果重要的话,该语言是Java.谢谢大家! 最佳答案 假设您想要的“日期”为“ 2007-06-20”.您需要将非重复元素与重复元素组合在一起,因此您可以执行以下操作(未经测试,可能需要一些思考,但应该能为您提供总体思路):
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- mysql – 在单个查询中多次使用相同的子查询
- MYSQL教程mysql 创建root用户和普通用户及修改删除功能
- Mysql必读Windows安装MySQL 5.7.18 解压版的教程
- Mysql应用解决Mysql收缩事务日志和日志文件过大无法收缩问题
- php – 插入查询后更新状态
- mysql – Laravel 5.1雄辩的关系模型 – 如何更新外键列?
- Mysql学习MySql 5.6.14 winx64配置方法(免安装版)
- 修改触发器
- MYSQL数据库mysql新建用户、用户授权、修改密码(实例)
- ERROR 1364 (HY000): Field 'ssl_cipher&#