sql >> データベース >  >> RDS >> SQLite

SELECTDISTINCTAndroidSQLiteが機能しない

    解決しました!

    したがって、カーソルを返すSQLiteQueryBuilderメソッドは、ブール値を許可しません。 パラメータを直接。

    しかし、クラスノートを読んだ後、 setDistinctメソッドに気づきました。 そしてそれをSQLiteQueryBuilderに適用しました。

    これで機能し、州ごとに1つの一意のエントリが表示されます。これは、私がやろうとしていたことです。他の列を削除して状態に焦点を合わせる必要がありましたが、それはこの質問に関係のない別の問題/解決策です。列の状態だけに注目し、 setDistinctを適用する必要があったと言えば十分です。 目的の結果を得るためだけにその列に移動します。

    完成したコードは次のとおりです:

    public Cursor getData(){
        SQLiteDatabase db = getReadableDatabase();
        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
        String [] sqlSelect = {"0 _id", "state"};
        String sqlTables = "Reefs";
        qb.setTables(sqlTables);
        qb.setDistinct(true);
        Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);
        c.moveToFirst();
        return c;
    }
    


    1. 絶対に避けるべき5つの非常に一般的なSQLクエリの設計ミス

    2. PostgreSQLの機能を拡張する10の方法

    3. サブクエリのパフォーマンスが低いPostgreSQLIN演算子

    4. Docker上でMySQLGaleraクラスター用にProxySQL2.0を実行および構成する方法