Wybieranie minimalnej wartości i maksymalnej wraz z ich datami

0

Cześć,

Gdy wybieram dane przez MIN(column) i MAX(column) w jednym zapytaniu - jak mogę wybrać dodatkowo ich czas?

1

Jaki silnik - MySQL, (...)?

2
select 
  t.colmin,
  min(i.data) datamin,
  t.colmax,
  min(a.data) datamax
from
  (select min(col) colmin, max(col) colmax from tab) t
  join tab i on i.col = colmin
  join tab a on a.col = colmax
group by
  t.colmin,
  t.colmax

jak się nie dupnąłem to coś takiego

4

Można też funkcjami analitycznymi spróbować. Koncept:

select * from 
(
  select
    first_value(col1) over (order by atrybut) min_attr,
    first_value(col2) over (order by atrybut) min_time,
    last_value(col1) over (order by atrybut) max_attr,
    last_value(col2) over (order by atrybut) max_time,
    row_number() over (order by atrybut) rn 
from tab 
) where rn=1
;

col1 - wartości
col2 - czas

https://dev.mysql.com/doc/refman/8.0/en/window-functions-usage.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1