MySQL query results
0 отговора
0 прегледа
MySQL query results
Не знам дали е бъг на mysql, но наскоро открих че при изпълненеие на една mysql заявака не се връщат всички резултати. Става въпрос за две таблици които съсдържат сходна информация и когато се отправи заявка за търсене да се връщат резултати и от двете таблици когато има съвпадения. Оказа се, че по някаква причина при използване на "LIMIT 0, 10" и да речем че общият брой на върнатите резултати е 17, на първата страница има поне един пропуснат резултат, ако обаче лимитирам резултатите на 30 на стр всичко е ОК. Проблема обаче не се проявява всеки път, само при определени думи. Ако някой има идея каква може да е причината...... Ето я и самата заявка към mysql:
SELECT SQL_NO_CACHE
COUNT(models_details.info_id) as numz,
COUNT(images.info_id) num_img,
IF (models_details.info_id IS NULL , 'vp', 'leg') AS wh_is,
makes.make_name,
models_details.model_name, models_details.name, models_details.info_id, models_details.model_year, models_details.body_avail, models_details.year_comment, models_details.tpl_num, models_details.model_vis,
images.image_th
FROM makes, models_details, images
WHERE makes.make_id = models_details.make_id
AND images.info_id = models_details.info_id
AND models_details.model_vis = 2
AND models_details.name LIKE '%car%'
GROUP BY images.info_id
UNION
SELECT
COUNT(vop_details.vop_id) as numz,
COUNT(images.vop_id) num_img,
IF (vop_details.vop_id IS NULL , 'leg', 'vp') AS wh_is,
makes.make_name,
vop_details.model_name, vop_details.name, vop_details.vop_id, vop_details.model_year, vop_details.vop_owner, vop_details.location, vop_details.date_sub, vop_details.country_flag,
images.image_th
FROM makes, vop_details, images
WHERE makes.make_id = vop_details.make_id
AND images.vop_id = vop_details.vop_id
AND vop_details.model_vis = 2
AND vop_details.name LIKE '%car%'
GROUP BY images.vop_id
ORDER BY numz DESC
LIMIT 0, 10
SELECT SQL_NO_CACHE
COUNT(models_details.info_id) as numz,
COUNT(images.info_id) num_img,
IF (models_details.info_id IS NULL , 'vp', 'leg') AS wh_is,
makes.make_name,
models_details.model_name, models_details.name, models_details.info_id, models_details.model_year, models_details.body_avail, models_details.year_comment, models_details.tpl_num, models_details.model_vis,
images.image_th
FROM makes, models_details, images
WHERE makes.make_id = models_details.make_id
AND images.info_id = models_details.info_id
AND models_details.model_vis = 2
AND models_details.name LIKE '%car%'
GROUP BY images.info_id
UNION
SELECT
COUNT(vop_details.vop_id) as numz,
COUNT(images.vop_id) num_img,
IF (vop_details.vop_id IS NULL , 'leg', 'vp') AS wh_is,
makes.make_name,
vop_details.model_name, vop_details.name, vop_details.vop_id, vop_details.model_year, vop_details.vop_owner, vop_details.location, vop_details.date_sub, vop_details.country_flag,
images.image_th
FROM makes, vop_details, images
WHERE makes.make_id = vop_details.make_id
AND images.vop_id = vop_details.vop_id
AND vop_details.model_vis = 2
AND vop_details.name LIKE '%car%'
GROUP BY images.vop_id
ORDER BY numz DESC
LIMIT 0, 10