2015-04-23 44 views
0

我試圖用Order by NEWID()爲以下,以獲得一個隨機的順序:如何在SQLite中獲取隨機數據?

public Cursor getSpecialList(String bloodCategory) {   
    SQLiteDatabase db = this.getReadableDatabase(); 
    Cursor cur = db.rawQuery("SELECT " + colName + " ," + 
     "" + colFather + " ," + 
     "" + colFamily + " ,"+ 
     "" + colPhone + " from " + ListInfoTable + 
     " WHERE " + colBloodCategory + "='" + bloodCategory + "'" + 
     " order by NEWID() ", new String[]{});  
    return cur;  
} 

SQLite的日誌給了我以下錯誤:

No such function NEWID

+0

列名在ListInfoTable表中是否爲'NEWID()'? –

+0

只需提供'列名稱'。你想要'Order By' –

+0

@ρяσѕρєяK是否可以給一個像'NEWID()'這樣的'表列名'? –

回答

2

您可以使用下面的代碼的隨機數據:

public Cursor getSpecialList(String bloodCategory) 
     {  

     SQLiteDatabase db=this.getReadableDatabase(); 
     Cursor cur=db.rawQuery("SELECT "+colName+" ,"+ 
      ""+colFather+" ,"+ 
      ""+colFamily+" ,"+ 
      ""+colPhone+" from "+ListInfoTable+ 
      " WHERE "+colBloodCategory+"='"+bloodCategory+"'"+ 
      " ORDER BY RANDOM() ",new String[] {});  
     return cur;  
    } 
+0

它正在工作謝謝 –

+0

很棒..... !!!!! – BSavaliya

+0

我更新了這個問題,可否請您投票.thanks –