2015-07-19 90 views
0

我如何才能獲得我正在搜索的每個值中的1個?這是我迄今爲止...如何選擇每個唯一值中的一個?

public String getRevisionsLog(String revName) { 
    try { 
     String txt = "\t\t\t\t\t\t\t#e---===Revision Logs===---#n\r\n"; 
     Connection con = DatabaseConnection.getConnection(); 
     PreparedStatement ps = con.prepareStatement("SELECT revision FROM revisions_log WHERE revisionName = ? ORDER BY REVISION"); 
     ps.setString(1, revName); 
     ResultSet rs = ps.executeQuery(); 
     while (rs.next()) { 
      txt += rs.getString("revision") + "\r\n"; 
     } 
     ps.close(); 
     rs.close(); 
     return txt; 
    } catch (Exception e) { 

    } 
    return "No logs were found!"; 
} 

所以在我的數據庫到目前爲止,我有有1和1.1修訂值值的行。我想檢索這些版本號,但每次只能檢索一次。如果我有發言權......

1, 1, 1, 1.1, 1.1, 1.1 

我只想找回1和1.1,而不是所有的1

回答

2

使用DISTINCT關鍵字的實例:

PreparedStatement ps = con.prepareStatement("SELECT DISTINCT revision FROM revisions_log WHERE revisionName = ? ORDER BY REVISION"); 
+0

嘿!非常感謝!順便說一句,是否有一個原因,當我輸入1.0到數據庫中,即使我將該列指定爲浮點數,它會回到1?我如何使它顯示爲1.0? –

+0

該字段是數據庫級別的浮點數?嘗試使用:rs.getFloat而不是你的rs.getString(不保證:我沒有測試它:))。否則,您可能必須先使用ROUND格式化數據(修訂版本1),然後再取回數據。 –

+0

謝謝!有效! –