私はこのようなデータを含む複数のmysql DBを持っています。 http://sqlfiddle.com/#!9/f084cMysqlは1日に1つの行を選択します。
CREATE TABLE `datos` (
`id` int(11) NOT NULL,
`fecha` datetime NOT NULL,
`temperatura` tinyint(4) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `datos` (`id`, `fecha`, `temperatura`) VALUES
(1874, '2017-05-20 01:56:40', 20),
(1875, '2017-05-20 01:56:51', 20),
(1876, '2017-06-18 23:32:49', 17),
(1877, '2017-06-18 23:34:50', 17),
(1878, '2017-06-18 23:36:51', 17),
(1879, '2017-06-18 23:38:52', 17),
(1880, '2017-06-18 23:46:02', 16),
(1881, '2017-06-18 23:47:12', 17),
(1882, '2017-06-22 01:06:27', 21);
私は
SELECT * FROM `datos` WHERE fecha >= '2017-06-22 01:06:27' - INTERVAL 30 DAY
を使用して、全区間を選択している。この
2017-06-22 01:06:27 21
2017-06-18 23:47:12 17
2017-05-20 01:56:51 20
のような結果を持つことが、30日の期間中に一日のちょうど一つの値を選択したい
しかし、私はすべての代わりに1日に1つの値を選択するだけでは管理していません。 は、あなたが優先順位付けしたい行のどのようなプロパティを選択し、一致のあなたの条件を操作することができ、ヘルプ
GROUP BYについて学ぶ必要があると思われます。これは一般的なSQL操作であり、SQLのリファレンスまたはチュートリアルでは説明と例が示されます。たとえば、https://dev.mysql.com/doc/refman/5.7/en/group-by-functions-and-modifiers.htmlとそのサブセクションを参照してください。 –
私は30日の妥当性を理解していません。おそらくデータセットはそれほど代表的ではありません – Strawberry