Как загрузить последнюю запись в SQL
у меня четыре стола
tblUser(UserID PK,name) tblPackage (PackageID pk, PackageName) tblPayment(PaymentID Pk,UserID Fk, PackageID FK,Payingdate,PaidAmount,RemainingBalance) tblsubscription(subID pk, userID, packageID,PackageExpireDate, PackStartDate)
Вот предположим в моем tblpaymet я добавляю значение
(1,1,1,2016-11-2,2000,8000), (2,1,1,2016-11-3,3000,7000), (3,1,1,2016-11-4,2000,8000)
а если тот же пользователь возьмет другой пакет
(4,1,2,2016-11-1,5000,7000), (5,1,2,2016-11-2,5000,7000), (6,1,2,2016-11-3,5000,7000),
в этом заявлении я хочу получить последнюю запись каждого пользователя, дифференцируя их packageID означает, что в моем примере я хочу получить только paymentid (3,6), но с помощью этого запроса я получаю всю запись. поэтому, пожалуйста, помогите мне получить последнюю запись каждого пользователя
Что я уже пробовал:
select users.UserID, users.Name, users.Contact, users.photos, pay.PaymentID, pay.Paying_date, pay.Payble, pay.Discount, pay.Total_Paid,p ay.Balance_Remain, pay.Payment_Mode, pay.Payment_Type, pay.Payment_Describtion, pack.PackageID, pack.Package_Name, pack.Package_Duration, pack.Package_Amount, sub.Package_Expire_Date, sub.Package_StartDate from tblUser as users inner join tblPayment as pay on users.UserID=pay.UserId left outer join tblPackages as pack on pack.PackageID = pay.PackageId inner join tblSubscription as sub on users.UserID = sub.UID
Suvendu Shekhar Giri
.- а что вы пытались добыть из последних записей?
Ключ:
ПопробуйGROUP BY
с HAVING
или
ROW_NUMBER()