/ / ИЗБЕРЕТЕ всички най-новите ключови думи за отчет с ненулева стойност в една колона - sql, mysql, null

ИЗБЕРЕТЕ най-новата ключова дума с най-новата регистрация с ненулева стойност в една колона - sql, mysql, null

Следвайки този въпрос ИЗБЕРЕТЕ най-новия запис с ненулева стойност в една колона

Знам, че имам проблем, където имам тези данни

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 Ред, който има най-новата дата и не е нулев.

Отговори:

2 за отговор № 1

Употреба:

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