ВЫБЕРИТЕ все новейшие ключевые слова с ненулевым значением в одном столбце - PullRequest
2 голосов
/ 16 ноября 2009

Исходя из этого вопроса ВЫБЕРИТЕ самую новую запись с ненулевым значением в одном столбце

Я знаю, у меня проблема с этими данными

id | keyword | count | date
1 | ipod | 200 | 2009-08-02
2 | ipod | 250 | 2009-09-01
3 | ipod | 150 | 2009-09-04
4 | ipod | NULL | 2009-09-07
5 | apple | 100 | 2009-07-01
6 | apple | 98 | 2009-07-05
7 | apple | 500 | 2009-07-30
8 | itunes | NULL | 2009-08-30
9 | itunes | 50 | 2009-09-10
10 | itunes | NULL | 2009-09-15

И нужен запрос, который будет извлекать строки 3, 7 и 9 строк, которые имеют самую новую дату и не равны нулю.

1 Ответ

2 голосов
/ 16 ноября 2009

Использование:

SELECT t.id,
       t.keyword,
       t.count,
       t.date
  FROM TABLE t
  JOIN (SELECT t.keyword,
               MAX(t.date) 'max_date'
          FROM TABLE t
         WHERE t.count IS NOT NULL
      GROUP BY t.keyword) x ON x.keyword = t.keyword
                           AND x.max_date = t.date
...