我有一個mysql包含多個包含這樣的數據的數據庫。 http://sqlfiddle.com/#!9/f084cMysql每隔一段時間只選擇一行
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);
我想在30天的時間間隔期間選擇一天中只有一個值,以具有這樣
2017-06-22 01:06:27 21
2017-06-18 23:47:12 17
2017-05-20 01:56:51 20
結果我已經選擇使用
SELECT * FROM `datos` WHERE fecha >= '2017-06-22 01:06:27' - INTERVAL 30 DAY
整個間隔
但我還沒有設法每天選擇一個值,而不是全部。 將不勝感激幫助
聽起來像你需要了解GROUP BY。這是一種常見的SQL操作,任何有關SQL的參考或教程都會給你解釋和示例。例如,閱讀https://dev.mysql.com/doc/refman/5.7/en/group-by-functions-and-modifiers.html及其子部分。 –
我不明白30天的相關性。也許數據集不是很有代表性 – Strawberry