Sql语句切割成两半

时间:2011-10-05 12:54:30

标签: mysql select into-outfile

这是我当前的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';

我正在使用以下sql语句创建这个csv文件,除了一件事之外,它的工作效果很好,它只占用1/2行!

在traffictest中总共有2661行 当我将数据输出到csv时它只放1331。

我已经改变了traffictest的大小,这是正确的,除非我只有3行它实际上拉了所有三行。

任何帮助解决这个问题都将非常感激。

1 个答案:

答案 0 :(得分:0)

当你使用GROUP BY时,MySql每组只返回一行,你的行具有相似的tmc-time,而MySql只为所有这些行返回一行,这是行数减少的原因。