0

私は次のクエリを持っています:

SELECT first, last, title, email, org 
FROM people WHERE email <> "" 
INTO OUTFILE 'C:/testfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'

どちらが機能しますか。個別のメールを選択する必要があります(同じメールから複数のエントリを作成したくない)。

それは次のように機能しますか?:

SELECT first, last, title, distinct(email), org 
FROM people WHERE email <> "" 
INTO OUTFILE 'C:/testfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
4

1 に答える 1

3

どのプラットフォーム/バージョンの SQL を使用していますか? 通常、これは group by ステートメントで実行されます。何かのようなもの:

SELECT first, last, title, email, org 
FROM people 
GROUP BY Email
WHERE email <> ""
INTO OUTFILE 'C:/testfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'

上記は実際には一部のプラットフォーム/バージョンの SQL で機能しますが、「正しい」(標準 SQL) 方法は次のようになります (もちろん、同じメールに対して他のフィールドが異なる場合、未定義の結果が得られます)。

SELECT max(first), max(last), max(title), email, max(org) 
FROM people 
GROUP BY Email
WHERE email <> ""
INTO OUTFILE 'C:/testfile.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
于 2012-08-28T20:03:50.920 に答える