ここで提示されたソリューションを試してみました カーウィン氏
各グループの最後のレコードを取得する
FF レコードで必要なすべてのレコードを含む単一のテーブルがあります。
--------------------------------------------------
| Keynum | PaymentID | BuyerID | LatestBill |
|----------- | -----------|---------|------------|
| 3 | 4 | 4 | 30000 |
| 2 | 4 | 4 | 10000 |
| 1 | 4 | 4 | 10000 |
| 1 | 9 | 9 | 9999 |
--------------------------------------------------
望ましい出力は次のとおりです。
--------------------------------------------------
| Keynum | PaymentID | BuyerID | LatestBill |
|----------- | -----------|---------|------------|
| 3 | 4 | 4 | 30000 |
| 1 | 9 | 9 | 9999 |
--------------------------------------------------
私が試したのはこれです:
Select keynum, PaymentID, BuyerId, LatestBill From Sales where LatestBill != 0 group by PaymentID, BuyerID order by keynum Desc;
この
SELECT max(keynum), PaymentID, BuyerID, NewInstallmentBal
FROM aliissales.tblmovedactual
GROUP BY PaymentID, BuyerID DESC;
しかし、私が得るのはこれです:
--------------------------------------------------
| Keynum | PaymentID | BuyerID | LatestBill |
|----------- | -----------|---------|------------|
| 1 | 4 | 4 | 10000 |
| 1 | 9 | 9 | 9999 |
--------------------------------------------------
必要なのは、各グループの最後のレコードで、各レコードは PaymentID と BuyerID でグループ化されます。
Max(keynum) を使用すると、実際には各グループの最大キー番号が取得されますが、それに対応するレコードは取得されません。レコードを Keynum と一緒に使用する簡単な方法はありますか??
また、LatestBill = 0 の場合、グループ全体が無視されるようになりました。
つまり、もし
keynum 3 LatestBill = 0, group BuyerID 4 , PaymentID 4 is now ignored.