Sql Заявление резки строк в два раза - PullRequest
1 голос
/ 05 октября 2011

Вот мой текущий sql запрос

        SELECT 
    w.city, t.tmc, t.date, t.time, w.event, 
    ROUND(AVG(w.Pave), 0) surface_temperature, 
    ROUND(AVG(w.Air), 0) air_temperature, 
    ROUND(AVG(a.material_rate),0) material_rate, 
    w.intensity, t.avg 
    FROM winter2010.traffictest t 
    LEFT OUTER JOIN winter2010.application a ON a.DATE = t.DATE AND a.tmc = t.tmc AND a.tmc = t.tmc AND Left(a.time,2) = Left(t.time, 2) 
    LEFT OUTER JOIN winter2010.weather w ON t.DATE = w.DATE AND t.tmc = w.tmc AND  Left(t.time, 2) =  Left(w.time, 2) 
    GROUP BY tmc, t.time 
    INTO OUTFILE 'c:/sass2.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES 
TERMINATED BY '\n';

Я создаю этот CSV-файл из следующего оператора sql, и он прекрасно работает, за исключением одной вещи, он занимает только 1/2 строки!

Всего в тесте трафика 2661 строк И когда я отправляю данные в csv, это ставит только 1331.

Я изменил размер трафика, и это справедливо, за исключением того, что когда у меня было только 3 строки, он фактически вытянул все три строки.

Любая помощь в выяснении этого будет очень признательна.

1 Ответ

0 голосов
/ 05 октября 2011

Когда вы используете GROUP BY MySql возвращает только одну строку на группу, у вас есть строки с одинаковым временем tmc, а MySql возвращает только одну строку для всех таких строк, что является причиной уменьшения номера строки.

...