0

应 CEO 的要求,我试图解决这个问题,我们有一个 CRON 脚本,每小时与我们的数据库表对话,该表只包含两行,一行用于输出值,on for times per day returned。我每天 24 小时每小时运行一次。该表如下所示。

+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| times | int(2)           | YES  |     | NULL    |                |
| value | char(64)         | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+

我正在尝试创建一个查询,它将每天返回valueX times,所以可以说...

INSERT INTO table
  (times, value) 
VALUES
  (1, 'Value 1'),
  (4, 'Value 2'),
  (9, 'Value 3');

我希望在 24 小时内返回Value 1一次,在 24 小时内返回Value 2四次,然后再返回Value 3九次。因为 9 不能被 24 整除,所以我们可以使用 floor() 或 ceil() 或 round(),只要在 24 小时内返回 9 次就没有关系。

我什至无法可视化这个查询,更不用说实现它了=/

当我开始工作时,我会发布我正在尝试的东西......

更新

这会给我几个小时来运行它看起来像

SELECT (24 / times) AS hours FROM table;

+---------+
|  hours  |
+---------+
| 24.0000 |
|  6.0000 |
|  2.6667 |
+---------+
4

1 回答 1

0

您能否创建一个包含 24 行的单独表,一天中的每个小时一个表,并包括是否应在该小时内返回特定的值?然后加入那个而不是试图计算一些东西。

喜欢:

+-------------+-----------+-----------+-----------+
|Hr of day    |Run Value 1|Run Value 2|Run Value 3|
+-------------+-----------+-----------+-----------+
|  1:00am     |    1      |    0      |    1      |
|  2:00am     |    1      |    0      |    0      |
|  3:00am     |    1      |    0      |    0      |
|  4:00am     |    1      |    0      |    1      |
|  5:00am     |    1      |    0      |    0      |
|  6:00am     |    1      |    1      |    0      |
|  ...
于 2013-10-04T19:58:48.917 回答