Mam prosty system do monitorowania pozycji w Google. Chcę sobie dodać bajer który pokaże mi najlepszą pozycję dla danego słowa kluczowego + data.
Historię sprawdzanych pozycji trzymam w tej tabeli:
CREATE TABLE history ( history_id int( 7 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , domain_id int( 6 ) NOT NULL , keyword_id int( 6 ) NOT NULL , history_position varchar(100) NOT NULL , history_date date NOT NULL , history_time time NOT NULL );
Aby pobrać najlepszą pozycję (history_position) strzelam takie SQL:
SELECT h.domain_id, h.keyword_id, h.history_date, MIN(h.history_position) AS best_position FROM history h WHERE h.domain_id = %d AND h.history_position > 0 GROUP BY h.keyword_id ORDER BY h.history_date DESC;
No i to działa prawie dobrze. Na poniższym obrazku widać, że nie dla wszystkich fraz pobrać najniższą pozycją:

Dla frazy „blog seo” (3 od góry) powinienem dostać 8, a mam 10. Ktoś ma pomysł co robię źle?