2015-03-18 31 views
0

我在Mysql中有一个有趣的问题。我有这个疑问:在查询中将LIMIT忽略为outfile

SET SESSION group_concat_max_len = 1000000000000; 
SELECT group_concat(`status` separator ' ') FROM tweet_train_sentiment LIMIT 5 
INTO OUTFILE 'C:\\Users\\Jirda\\Desktop\\tweet_train.txt'; 

,如果我运行它,结果并不只包含5个实例,但它包含了从tweet_train_sentiment所有实例。

为什么限制被忽略,是否有可能使它正确?

谢谢

切赫

回答

1

如果你想只有五在outfile中值,使用substring_index()或子查询:

SET SESSION group_concat_max_len = 1000000000000; 

SELECT group_concat(`status` separator ' ') 
FROM (SELECT tts.* 
     FROM tweet_train_sentiment 
     LIMIT 5 
    ) tts 
INTO OUTFILE 'C:\\Users\\Jirda\\Desktop\\tweet_train.txt';