Один запрос много результатов - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть таблица MySQL, которая получает 3 столбца (для этого примера):

datetimestamp,             value,       var_name
"2020-02-04 16:42:38.711"   "243.70"    ".var_19.VALUE"
"2020-02-04 16:42:38.186"   "243.00"    ".valor_20"
"2020-02-04 16:42:36.92"    "241.70"    ".valor_20"
"2020-02-04 16:42:36.192"   "241.70"    ".var_19.VALUE"
"2020-02-04 16:42:35.669"   "242.20"    ".valor_20"
"2020-02-04 16:42:33.009"   "242.60"    ".valor_20"
"2020-02-04 16:42:31.756"   "243.70"    ".valor_20"
"2020-02-04 16:42:30.956"   "244.30"    ".var_19.VALUE"
"2020-02-04 16:42:30.956"   "-82.05"    ".var_13.VALUE"
"2020-02-04 16:42:30.489"   "243.80"    ".valor_20"
"2020-02-04 16:42:30.489"   "-82.05"    ".valor_15"
"2020-02-04 16:42:29.104"   "-82.15"    ".valor_15"
"2020-02-04 16:42:29.104"   "242.10"    ".valor_20"
"2020-02-04 16:42:29.104"   "0.55"      ".valor_16"
"2020-02-04 16:42:28.045"   "242.60"    ".var_19.VALUE"
"2020-02-04 16:42:28.045"   "-97.45"    ".var_8.VALUE"
"2020-02-04 16:42:27.524"   "242.90"    ".valor_20"
"2020-02-04 16:42:26.266"   "244.60"    ".valor_20"
"2020-02-04 16:42:24.494"   "-116.75"   "valor_15"
"2020-02-04 16:42:24.494"   "388.70"    "valor_20"

Я хотел бы запрос, который бы возвращал ТОЛЬКО ОДИН СТРОК последние значения для всех переменных, которые я мог запросить; Например:

Запрос последнего значения: .valor_20, .var_13.VALUE, .var_8.VALUE

, и в результате получился результат, похожий на этот: 243.00, -82.05, - 97.45

Как мне добиться этого с MySQL? Спасибо

1 Ответ

1 голос
/ 04 февраля 2020

Вы можете сгруппировать свои значения по var_name и просто принести самое последнее с функцией MAX () :

SELECT MAX(datetimestamp) as max_date, value, var_name  
FROM your_table
GROUP BY var_name

Если вы хотите только один ряд из всех имя_арма вы можете:

SELECT datetimestamp, value, var_name 
FROM your_table
GROUP BY value, var_name  
ORDER BY datetimestamp DESC
LIMIT 1 
...