1

sqlite androidで列のデータをシャッフルすることは可能ですか? Androidalphのsqliteでシャッフルしたい2つの列があります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()// sqllite には rand() がないことを思い出してください。代わりに random を使用します。

于 2015-02-17T18:26:02.153 に答える