2016-11-02 2 views
0

私はSQLデータベースにアクセスしている、私は列内のすべてのシリアル番号を取得したい、私の問題はここにない、私の問題は、それが重複しているかどうかを示す数字。SQLの出力、配列の並べ替えから重複する文字列を削除

ここは私のSQLステートメントです。ここで

String sqlS = "Select (SerialNumber) from dbo.Results where ErrorCode != 0 AND LineNumber = 1 AND TMDT BETWEEN '" +ourJavaDateObject + "' AND '" + tomorrow + "'"; 

が出力されます。

16110201009 
16110201014 
16110201017 
16110201048 
16110201048 
16110201048 
16110201048 
16110201048 
16110201048 

どのように私はシリアル番号を削除することを並べ替えることができ、同じシリアル番号の6があることに注意してください。

16110201009 
16110201014 
16110201017 
16110201048 
+2

DISTINCTキーワードを使用してください。このリンクに行くhttps://www.tutorialspoint.com/sql/sql-distinct-keyword.htm – Lokesh

+2

'dbo.Results ...から別個のSerialNumberを選択してください'(無関係ですが、:列または列のリストを括弧はまったく役に立たない) –

+1

また、値をSQL文字列に連結しないでください。プレースホルダーで 'PreparedStatement'を使用してください –

答えて

3

をキーワードDISTINCTを使用する必要が一意の値を取得するには:

これは私が望む出力されます。

String sqlS = "SELECT DISTINCT (SerialNumber) FROM dbo.Results WHERE ErrorCode != 0 AND LineNumber = 1 AND TMDT BETWEEN '" +ourJavaDateObject + "' AND '" + tomorrow + "'"; 

ただし、引数を直接解析するため、コードはSQL injectionに対して安全ではありません。 PreparedStatementを使用すると思いますか?

1
"Select distinct (SerialNumber) from dbo.Results where ErrorCode != 0 AND LineNumber = 1 AND TMDT BETWEEN '" + ourJavaDateObject + "' AND '" + tomorrow + "'" 
+1

解答なしの解答は解答ではありません。 – TimeToCode

関連する問題