У меня есть веб-сайт CarComparison, который загружает каналы с других автомобильных сайтов.Один из каналов, которые он получает, взят с сайта, который позволяет людям, которые разместили рекламу, обновлять его несколько раз.Как правило, автомобили обновляются каждые 10–14 дней.
В любом случае, единственный доступ к их данным у меня есть через канал RSS, который я анализирую и извлекаю полезные данные.Я получаю его каждую минуту, и в нем обычно 15 или около того новых машин.
Нет никакого легкого способа, когда я делаю импорт, чтобы увидеть, есть ли уже машина в системе.Я фиксирую исходный идентификатор, чтобы проверить его позже.
Запрос, который я запускаю, чтобы присоединиться к таблицам:
SELECT DISTINCT cc_detail.original_id, cc_detail.year, cc_detail.price, cc_detail.make, cc_detail.model, cc_detail.referrer_site, wposts . *
FROM cc_posts wposts
LEFT JOIN cc_posts_detail cc_detail ON ( wposts.ID = cc_detail.post_id )
WHERE 1 =1
AND (
cc_detail.year >1949
)
AND (
cc_detail.price >0
)
AND cc_detail.referrer_site = 'CarSiteX'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'post'
AND wposts.post_date < NOW( )
AND cc_detail.year <=2011
AND wposts.post_title NOT LIKE 'Ac%'
AND cc_detail.make != ''
AND cc_detail.model != ''
AND (
cc_detail.price +0
) >100
AND (
wposts.post_date > "2011/01/02 "
)
ORDER BY cc_detail.original_id ASC
LIMIT 30 , 300
Проблема в том, что я не могу понять, как изменитьзапрос такой, что он вытягивает только одну строку на значение original_id.Там, где игрок на CarSiteX пару раз обновлял свой автомобиль, я каждый раз получаю ряд для одного и того же автомобиля.У меня есть уникальный original_id, так как мне изменить вышеупомянутый запрос, чтобы получать только самые последние строки для каждого значения original_id в таблице cc_posts_detail?
Вот несколько примеров строк, которые показывают проблему:
original_id year price make model referrer_site ID post_author post_date post_date_gmt post_content post_title post_excerpt post_status comment_status ping_status post_password post_name to_ping pinged post_modified post_modified_gmt post_content_filtered post_parent guid menu_order post_type post_mime_type comment_count
1143583 2000 2900 lexus is200 CarSitex 9633341 1 2011-01-19 05:34:01 2011-01-19 12:34:01 2000 Manual 2.0 Petrol 136k miles NCT 039 d 0... Lexus Is200 2000 publish open open lexus-is200-2000- 2011-01-19 05:34:01 2011-01-19 12:34:01 0 0 post 0
1149513 1997 2000 mitsubishi colt CarSitex 8978523 1 2011-01-05 12:26:01 2011-01-05 19:26:01 1600cc mivec twin cam 16valve. 175 bhp.Four br... Mitsubishi Colt 1997 publish open open mitsubishi-colt-1997- 2011-01-05 12:26:01 2011-01-05 19:26:01 0 0 post 0
1149513 1997 2000 mitsubishi colt CarSitex 9416296 1 2011-01-14 12:04:01 2011-01-14 19:04:01 1600cc mivec twin cam 16valve. 175 bhp.Four br... Mitsubishi Colt 1997 publish open open mitsubishi-colt-1997- 2011-01-14 12:04:01 2011-01-14 19:04:01 0 0 post 0
1156791 2004 5950 ford focus CarSitex 9163527 1 2011-01-08 10:04:01 2011-01-08 17:04:01 2004 FORD FOCUS 1.4 4 DOOR 78333 MILES NCT D 1... Ford Focus 2004 publish open open ford-focus-2004- 2011-01-08 10:04:01 2011-01-08 17:04:01 0 0 post 0
Видите ли, есть два жеребенка mitsubishi, которые представляют собой одну и ту же машину ....
Извините, если я добавил слишком много информации или если это слишком много вопросов ... Впервыеэтот.Любая помощь приветствуется!
cc_post_details структура:
id int(4)
referrer_site varchar(100)
original_id bigint(8)
dealer varchar(255)
make varchar(100)
model varchar(100)
colour varchar(100)
year varchar(8)
engine_size int(4)
mileage int(4)
price int(4)
location varchar(100)
fuel_type varchar(50)
body_type varchar(50)
transmission varchar(50)
doors int(4)
image_base_url varchar(255)
image_main text
image_thumb text
post_id int(4)
date_added datetime
underscore_beepbeep_pos int(11)
cc_posts Структура
ID bigint(20)
post_author bigint(20)
post_date datetime
post_date_gmt datetime
post_content longtext
post_title text
post_excerpt text
post_status varchar(20)
comment_status varchar(20)
ping_status varchar(20)
post_password varchar(20)
post_name varchar(200)
to_ping text
pinged text
post_modified datetime
post_modified_gmt datetime
post_content_filtered text
post_parent bigint(20)
guid varchar(255)
menu_order int(11)
post_type varchar(20)
post_mime_type varchar(100)
comment_count bigint(20)