J'ai des données de table qui ressemble maintenant ce que je suis après devient comme celui-ciSELECT le nouvel enregistrement avec une valeur non nulle dans une colonne
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
le compte de la ligne qui a la plus récente date, mais a une compte non nul. Dans ce cas, la ligne 3 avec le nombre 150.)
par exemple
SELECT `keyword`, `count` , max(`date`)
FROM `keywords`
WHERE keyword = "ipod"
AND `count` IS NOT NULL
GROUP BY keyword
Ce retour la bonne date, mais pas le nombre droit (retourné 200). J'ai aussi essayé de faire une jointure gauche sur moi-même.
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`
Et cela ne se l'id max mais il n'a pas quitté jointure sur que, comme je l'espérais et est revenu seulement 200.
aide?
tu me bats sur ce – jitter
Argh, si simple ... essayait juste de se rendre à la fantaisie. Merci! – Wizzard