У меня есть таблица, как показано ниже (давайте назвали эту таблицу как t1)
+----+---------------------+---------+-----------------------+-------+-------------+
| id | timestamp | p_value | TS | as_id | codename |
+----+---------------------+---------+-----------------------+-------+-------------+
| 1 | 2019-03-13 07:55:44 | 561 | 2019-03-13 09:14:31 | 1795 | ActivePower |
+----+---------------------+---------+-----------------------+-------+-------------+
| 2 | 2019-03-13 07:55:44 | 561 | 2019-03-13 07:53:17 | 1795 | ActivePower |
+----+---------------------+---------+-----------------------+-------+-------------+
| 3 | 2019-03-13 07:55:45 | 561 | 2019-03-13 07:53:17 | 1795 | ActivePower |
+----+---------------------+---------+-----------------------+-------+-------------+
| 4 | 2019-03-13 07:55:48 | 974 | 2019-03-13 07:33:21 | 1795 | Cumulative |
+----+---------------------+---------+-----------------------+-------+-------------+
| 5 | 2019-03-13 07:56:26 | 974 | 2019-03-13 07:33:28 | 1795 | Cumulative |
+----+---------------------+---------+-----------------------+-------+-------------+
Я хочу выбрать строку с двумя условиями.
- Получить строку скомбинация для
unique as_id, codename
Итак, вот моя уникальная комбинация
1795, ActivePower
1795, Cumulative
Отфильтровано по максимальному значению временной метки, если максимальная временная метка совпадает, то упорядочьте по id desc и ограничьте 1. Таким образом, я могу получить самую последнюю строку.
Ожидаемый результат:
+----+---------------------+---------+-----------------------+-------+-------------+
| id | timestamp | p_value | TS | as_id | codename |
+----+---------------------+---------+-----------------------+-------+-------------+
| 3 | 2019-03-13 07:55:44 | 561 | 2019-03-13 07:53:17 | 1795 | ActivePower |
+----+---------------------+---------+-----------------------+-------+-------------+
| 5 | 2019-03-13 07:56:26 | 974 | 2019-03-13 07:33:28 | 1795 | Cumulative |
+----+---------------------+---------+-----------------------+-------+-------------+