У меня есть таблица с атрибутами, такими как отметка времени, SensorName, температура, влажность.Что я делаю, так это получаю результаты, заказывая их тогда по метке времени в заказе DESC, и у меня есть условие, чтобы получить его либо за 1 день 7 дней, либо за предыдущий месяц.Но проблема в том, что я получаю гораздо больше значений при доступе к старым записям.Что мне нужно сделать, так как мои данные упорядочены по отметке времени, мне нужно максимум 15-20 строк / записей для каждой даты. Предположим, я получаю данные с 10 по 17 июня, и у каждой даты есть 100 записей.Мне нужно только 10/20 записей для определенного дня (топ-20 за каждый день).
Моя версия MySQL 5.7.26, и я попытался использовать ROW_NUMBER, но это не помогает
SELECT datestamp AS TIME,Temperature AS TEMPERATURE FROM table_name WHERE NodeAdd = 'SensorName' and datestamp >= DATE_ADD(CURRENT_DATE,INTERVAL -'$somevar' DAY) ORDER BY datestamp DESC
Приведенный выше код показывает, как я получаю данные за разные дни. Переменная $ somevar жестко запрограммирована. Если пользователь выбирает день, то это -1, если он выбирает предыдущую неделю, то это -7 и -30 для предыдущего месяца. Мне нужномаксимум 20 строк / записей для каждого дня.
ПРИМЕЧАНИЕ :: У меня нет таблицы идентификаторов или уникального / первичного ключа в моей таблице, поэтому я пытался получить определенные строки, используя разбиение только по датам,