0

私は CEO の要請でこれに頭を悩ませようとしています.1 時間ごとにデータベーステーブルと通信する CRON スクリプトがあります.このテーブルには 2 つの行しか含まれていませんtimes per day returned. これを 1 時間に 1 回、1 日 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    |                |
+-------+------------------+------+-----+---------+----------------+

を返すクエリを作成しようとしていvalueますtimes

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

Value 124 時間に 1 回、24 時間にValue 24 回、そしてValue 39 回戻ってくると思います。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

1 日の各時間に 1 つずつ、合計 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 に答える