2016-12-22 10 views
1

私はデータベースからロードされたデータのリストを持つアンドロイドアプリケーションを作成しています。特定のリスト項目を選択すると、最初の日付が選択されたリストアイテムの日付と同じであるため、最初の1つではなく2番目の値を取得したいという点で、以下のクエリを使用したテーブルの日付です。最初のもの。私は2番目の値を選択するために文字列分割を使用しましたが、結果に1行しかない場合は、エラーが表示されます。最初の結果の代わりにSQLの結果から2番目の値を取得する方法

表:

private static final String BILL_ID = "billno"; 
private static final String BILL_DATE = "billdate"; 
private static final String BILL_FARMERNAME = "billfarmername"; 
private static final String BILL_MOBILENO = "mobileno"; 
private static final String BILL_PRODUCTTYPE = "producttype"; 
private static final String BILL_PRODUCTNO = "productcounts"; 
private static final String BILL_PRODUCTCOST = "productcost"; 
private static final String BILL_TOTALAMOUNT = "totalamount"; 

問合せ:

String selectquery = "SELECT billdate FROM billlabel WHERE mobileno = '" + bfarmermobno + "' AND billno <= '" + billnumber + "' ORDER BY billdate DESC LIMIT 0,2"; 
+0

'cursor.moveToLast()'を使用して値を読み取ります。 –

答えて

0

あなたはそのためのOFFSETLIMITを使用することができます。

例えば(未テスト!)このようなもの

"SELECT billdate FROM billlabel WHERE mobileno = '" + bfarmermobno + "' AND billno <= '" + billnumber + "' ORDER BY billdate DESC LIMIT 1 OFFSET 1"; 

これらの操作はそうのように指定されています

LIMIT <count> OFFSET <skip> 

LIMITは、あなたがすることによって制限するレコードの数を指定し、一方でOFFSETは、結果を取得するときに開始するオフセットを指定します。

関連する問題