내가
Retrieving the last record in each group특정 그룹
는 내가 필요로하는 모든 레코드를 포함하는 단일 테이블이 씨 Karwin에 의해 여기에 제시된 해결책을 노력을 무시하는 기준, MYSQL 단일 테이블에서 각 그룹의 마지막 레코드를 가져 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 max(keynum), PaymentID, BuyerID, NewInstallmentBal
FROM aliissales.tblmovedactual
GROUP BY PaymentID, BuyerID DESC;
Select keynum, PaymentID, BuyerId, LatestBill From Sales where LatestBill != 0 group by PaymentID, BuyerID order by keynum Desc;
이 무엇 나는 이걸 :
--------------------------------------------------
| Keynum | PaymentID | BuyerID | LatestBill |
|----------- | -----------|---------|------------|
| 1 | 4 | 4 | 10000 |
| 1 | 9 | 9 | 9999 |
--------------------------------------------------
각 레코드의 마지막 레코드는 PaymentID와 BuyerID로 그룹화해야한다.
Max (keynum)를 사용하면 실제로는 각 그룹의 최대 키인 수는 있지만 그에 해당하는 레코드는 없습니다. 레코드를 Keynum과 함께 사용하는 더 간단한 방법은 무엇입니까 ??
또한 LatestBill = 0이면 전체 gorup이 무시됩니다.
즉
keynum 3 LatestBill = 0, group BuyerID 4 , PaymentID 4 is now ignored.
감사합니다.하지만 특정 조건을 만족하는 레코드를 무시하는 조건은 어디에 추가합니까? 예 : LatestBill = 0이면 레코드가 무시됩니다. 조인 안에 (where) statement를 추가하려고 시도했지만, 이제 2 | 4 | 4 | 10000 –
당신은 그것을 가장 바깥 쪽의 select ex에 추가 할 수 있습니다. http://www.sqlfiddle.com/#!2/099c3/3 –
고맙습니다. –