Я хотел бы расширить вопрос, который я задал здесь: MySQL: Выбор строк с самой высокой группой по количеству
, на этот вопрос получен отличный ответ, но, оказывается, я Хотелось бы расширить функциональность запроса, но пока безуспешно.
Мои данные все еще выглядят так, сгруппированные по значениям датчика. я просил, чтобы каждый день был самый высокий счет, который, как я сказал, был решен в другом q.
Datetime sensor1 count(ID)
2020-03-19 11:49:12 33.22 3
2020-03-19 11:37:47 33.36 10
2020-03-20 07:32:02 32.54 489
2020-03-20 00:00:43 32.56 891
2020-03-20 14:20:51 32.67 5
2020-03-21 07:54:16 32.50 1
2020-03-21 00:00:58 32.54 1373
2020-03-21 01:15:16 32.56 9
2020-03-22 08:35:12 32.52 2
2020-03-22 00:00:40 32.54 575
2020-03-22 06:50:54 32.58 1
И с этим запросом я получаю идеальный результат:
WITH cte AS
( SELECT DATE(date_time) as date_time, sensor1, RANK() OVER (PARTITION BY DATE(date_time)
ORDER BY COUNT(*) DESC) rnk FROM `weigh_data` GROUP BY DATE(date_time), sensor1 )
SELECT * FROM cte as a WHERE rnk=1
результат :
2020-03-20 32.56
2020-03-21 32.54 *
2020-03-22 32.54
2020-03-23 31.92 *
2020-03-24 31.92
2020-03-25 31.92
2020-03-26 31.28 *
Теперь я хотел бы, чтобы результат показывал только те строки, в которые я поставил звездочку. Строки, которые изменились по сравнению с предыдущим. Я могу справиться с этим в PHP, но было бы более эффективно получить его непосредственно из результата запроса. Будет ли это возможно? Я знаю, как выбирать изменения в данных результатов, но не тогда, когда они группируются следующим образом.
заранее спасибо.