Выберите максимальное значение из диапазона - PullRequest
1 голос
/ 18 ноября 2011

У меня есть эти данные:

idqueries---queryDate-----------------sets_idsets-----result--site
13646-------2011-11-16-13:22:31-------1---------------3-------1
13536-------2011-11-16-12:26:23-------1---------------6-------1
13435-------2011-11-16-12:12:15-------1---------------3-------1
13334-------2011-11-16-11:37:13-------1---------------4-------1
13332-------2011-11-16-09:21:20-------1---------------7-------1
13325-------2011-11-15-12:09:18-------1---------------2-------1
13140-------2011-11-15-08:48:41-------1---------------1-------1
12976-------2011-11-15-08:37:57-------1---------------6-------1
12839-------2011-11-15-08:29:06-------1---------------3-------1
12769-------2011-11-14-16:21:14-------1---------------34------1
12584-------2011-11-14-09:53:29-------1---------------9-------1
12583-------2011-11-14-09:53:00-------1---------------23------1
12582-------2011-11-14-09:52:26-------1---------------2-------1
12565-------2011-11-14-09:48:59-------1---------------6-------1
12557-------2011-11-14-09:47:38-------1---------------7-------1
12458-------2011-11-10-12:27:18-------1---------------10------1
12457-------2011-11-10-12:24:04-------1---------------10------0
12450-------2011-11-10-12:21:33-------1---------------1-------0
12448-------2011-11-10-12:16:57-------1---------------1-------0
12442-------2011-11-10-11:33:23-------1---------------1-------0
12435-------2011-11-10-11:16:48-------1---------------1-------0
12431-------2011-11-10-09:33:31-------1---------------10------0

И мне нужно выбрать строки, в которых каждая строка совпадает со значением MIN result для каждого дня.
Пример:

13646-------2011-11-16-13:22:31-------1---------------3-------1
13140-------2011-11-15-08:48:41-------1---------------1-------1
12582-------2011-11-14-09:52:26-------1---------------2-------1
12450-------2011-11-10-12:21:33-------1---------------1-------0

Если в выборочных данных имеется более одной строки с минимальным результатом, как это было на 2011-11-10 (несколько строк с result значением 1), мне нужно выбрать только одну - самую новую из тех дат.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 18 ноября 2011

Получу удар в этом:

SELECT c.idqueries, t.queryDate, c.sets_idsets, t.result, c.site 
FROM
  (SELECT queryDate, MIN(result)
  OVER (ORDER BY queryDate DESC) AS 'result'
  FROM TBL GROUP BY queryDate) AS c,
TBL t
WHERE c.queryDate = t.queryDate
...