【问题标题】:How to get random data in SQLite?如何在 SQLite 中获取随机数据?
【发布时间】:2015-04-23 09:40:55
【问题描述】:

我正在尝试使用Order by NEWID() 获得随机订单,如下所示:

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 日志给我以下错误:

没有这样的函数NEWID

【问题讨论】:

  • ListInfoTable 表中的列名是否为NEWID()
  • 只需提供Column Name。你想Order By
  • @ρяσѕρєяK 可以给Table Column NameNEWID() 一样吗?
  • SQL 上的NEWID 函数可用于获取随机顺序无论它内置在函数中的列名称如何
  • @MohamadMahmoud:在sqlite中需要使用RANDOM()而不是NEWID

标签: android sql eclipse sqlite


【解决方案1】:

您可以将以下代码用于随机数据:

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;       
    }

【讨论】:

  • 我更新了这个问题,你能投票吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2014-06-30
  • 2015-03-30
  • 2017-04-26
  • 1970-01-01
  • 2014-04-02
  • 1970-01-01
  • 1970-01-01
  • 2012-04-21
相关资源
最近更新 更多