我有一個看起來像這樣選擇帶有非空值的最新記錄在一列
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
現在表中的數據是什麼,我以後越來越具有最新的日期,但有一個行的數不是空數。在這種情況下,第3行與數150)
如
SELECT `keyword`, `count` , max(`date`)
FROM `keywords`
WHERE keyword = "ipod"
AND `count` IS NOT NULL
GROUP BY keyword
這返回正確的日期,但不正確的計數(返回200)。我也試過對自己做一個左連接。
SELECT `t1`.`keyword` , `t2`.`count` , max(`t1`.`id`)
FROM `keywords` `t1`
LEFT JOIN `keywords` `t2` ON `t1`.`id` = `t2`.`id`
WHERE `t1`.`keyword` = 'ipod'
AND `t1`.`count` IS NOT NULL
GROUP BY `t1`.`keyword`
這的確得到了最大ID,但它並沒有離開,加入到像我希望,只返回200
幫助?
您對 – jitter 2009-11-16 05:21:07
哎呀打我,就這麼簡單......只是試圖去幻想。謝謝! – Wizzard 2009-11-16 05:29:20