1

是否可以在 sqlite android 中对列的数据进行洗牌?我有两列我想在 androidalph上的 sqlite中洗牌click event

num     alph
------------
 1       a
 2       b
 3       c
 4       d

这是我的代码

public class MainActivity extends Activity {
SQLiteDatabase db;
String a,c;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    db=openOrCreateDatabase("dat", MODE_PRIVATE, null);
    db.execSQL("CREATE TABLE IF NOT EXISTS rk(num integer,alph char);");
    db.execSQL("INSERT INTO rk VALUES('1','a');");
    db.execSQL("INSERT INTO rk VALUES('2','b');");
    db.execSQL("INSERT INTO rk VALUES('3','c');");
    db.execSQL("INSERT INTO rk VALUES('4','d');");
    db.execSQL("INSERT INTO rk VALUES('5','e');");
}
public void disp(View view){
    EditText ed;
    ed=(EditText)findViewById(R.id.editText1);
    a=ed.getText().toString();
    Cursor  b=db.rawQuery("SELECT alph FROM rk WHERE num='a';",null);
    //System.out.println(b.getString(0));

    c=b.toString();
    System.out.println("a2");
    System.out.println(c);
    Builder builder=new AlertDialog.Builder(MainActivity.this);
    builder.setMessage(c);
    AlertDialog alert=builder.create();
    alert.show();
}
4

3 回答 3

1
SELECT * FROM table ORDER BY RANDOM()
于 2015-01-27T08:43:06.070 回答
1

你的意思是从中得到一个随机的行吗?在 MySQL 中,您可以通过以下方式完成:

select alph from rk order by rand() limit 0,1

我认为这个 sql 也可以在 SQLite 中以相同或相似的形式工作。如果您希望所有行都以随机顺序排列,只需删除“limit 0, 1”部分,例如:

select alph from rk order by rand()
于 2013-09-01T12:57:50.390 回答
0

select * from tablename order by random()// 记住 rand() 不存在,因为 sqllite 使用随机代替

于 2015-02-17T18:26:02.153 回答