0

トランザクションのリストを含むデータベースをクエリしようとしています。必要なトランザクションは特定のステータスである必要があり、重複するコストコードが存在する場合、クエリは最大のID番号を持つIDのみを返す必要があります

私のサンプルテーブルは次のとおりです。テーブル名=foo、必要なステータスは3です。

ID       transaction date     status     cost code
1         20120101               3           5
2         20120101               3           5
3         20120101               4           7

この例で必要なのはID2です

ありがとう

4

3 に答える 3

4
select * from foo where status = 3 order by id desc limit 1;

3は、取得したいステータスに置き換えることができます。

「IDによる順序desclimit1」というフレーズは、「ID番号が最も大きいID」の制約を満たします。

于 2012-05-14T02:04:00.837 に答える
0

選択した列が同じ場合は、MAXを使用して最大のID番号を取得できます

SELECT transaction_date, Status, cost_code, MAX(ID) As ID
FROM foo
GROUP BY transaction_date, Status, cost_code
于 2012-05-14T02:06:20.503 に答える
0

次のクエリを使用します。

SELECT MAX(ID) AS MaxID
FROM foo
WHERE status = 3
于 2012-05-14T02:09:10.850 に答える