1

orders3つの列で構成されるテーブルがあります:

  • order_id int primary key
  • cust_id integer
  • order_date integer

データ付き:

order_id  |  cust_id  |  order_date
1         |  10       |  1325376000
2         |  10       |  1325548800
3         |  10       |  1325894400
4         |  11       |  1325462400
5         |  11       |  1325721600
6         |  12       |  1325721600
7         |  12       |  1326326400

ユーザーが次のように表示SimpleCursorAdapterされるように、特定の顧客の最新の注文を含む Cursor を与えるクエリを作成しようとしています。ListView

  • 10 1325894400 (人間が読める形式の日付)
  • 11 1325721600
  • 12 1326326400

私は運がなくても、さまざまな方法でテーブルをそれ自体に結合しようとしました:

http://sqlfiddle.com/#!2/77b22d/1/0

を入力してArrayListを使用する必要がある場合は、ArrayAdapterそうしますが、最初にこのオプションを使い果たしたいと思います。ありがとう!

編集: ここと SQLFiddle の違いについてお詫びします。頭脳は 2 つの別々のスレッドで実行されています。Fiddle は「正しい」データ セットです。

2 番目の編集: 新しいしわを追加しました (上の表は無視してください。SQL フィドルを参照してください)。自由形式のテキストのフィールドを追加してクエリを実行すると、GROUP BY の最初のレコードと max_date のフィールドが返されます。max_date に等しい日付を含むレコード全体を取得する必要があります。WHERE 句を追加すると、クエリが壊れます。考え?

4

3 に答える 3

1

各顧客の最新のレコードが必要な場合は、次のようにするとうまくいくと思います。

SELECT order_number, cust_number, max(order_date) as max_date FROM orders GROUP BY cust_number
于 2013-10-14T17:24:44.693 に答える
0

リンクに入力した値は、ここに投稿した値とは異なりますが、探しているものは次のとおりです。

select o1.cust_number, max(o1.order_date)
from orders o1
group by o1.cust_number
order by o1.cust_number ASC

これにより、各顧客の最新の注文が表示されます。

于 2013-10-14T17:23:01.910 に答える