0
Я запускаю запрос в Phpmyadmin, а также выполняю тот же запрос с php PDO, но результаты не равны. Что может быть неправильным? Это запрос:разница между phpmyadmin и php PDO
SELECT dim_date_key as date ,dim_jdate_key as jdate, SUM(val_call_counts) as count
FROM `fact_j_service_location_table_ts`
WHERE `dim_time_stamp` >= '1426451400'
AND `dim_time_stamp` < '1427311800'
AND dim_service_id = 2
GROUP BY dim_date_key
LIMIT 0,10;
PhpMyAdmin:
date jdate count
20150316 13931225 5711
20150317 13931226 6170
20150318 13931227 7244
20150319 13931228 7825
20150320 13931229 6261
20150321 13940101 4622
20150322 13940102 4513
20150323 13940103 4671
но PHP возвращает:
20150316 13931225 6295
20150317 13931226 6170
20150318 13931227 7244
20150319 13931228 14170
20150320 13931229 6261
20150321 13940101 4622
20150322 13940102 16879
20150323 13940103 4671
и вот скрипт:
$sql = "SELECT dim_date_key as date ,dim_jdate_key as jdate, SUM(val_call_counts) as count
FROM `fact_j_service_location_table_ts`
WHERE `dim_time_stamp` >= '1426451400'
AND `dim_time_stamp` < '1427311800'
AND dim_service_id = 2
GROUP BY dim_date_key
LIMIT 0,10;";
$db = new PDO($server ,$username, $pass, $opt);
$this_result = $db->prepare($sql);
$this_result->execute();
//$error = $this_result->errorInfo();
$res = $this_result->fetchAll(PDO::FETCH_ASSOC);
Без просмотра кода PHP/PDO было бы невозможно узнать. –
@JayBlanchard, как вы просили, я отредактировал описание и добавил скрипт php. –
Небольшая догадка: MySQL не гарантирует порядок, если вы не укажете его, так что возможно, что тот же запрос без запуска ORDER BY в разное время вернет строки в другом порядке. Использование предложения LIMIT для такого запроса может потенциально выбрать другую партию строк. Я не уверен, как это работает с «GROUP BY» в миксе, но было бы интересно увидеть результаты без предложения LIMIT. –