SQL を使用して最後の支払いを取得する方法
例:
SELECT DATEOFPAYMENT
FROM PAYMENTS
WHERE DATEOFPAYMENT = (SELECT MAX(DATEOFPAYMENT) FROM PAYMENTS)
しかし、これはグループ化を求めると不平を言うので機能しませんか?
SQL を使用して最後の支払いを取得する方法
例:
SELECT DATEOFPAYMENT
FROM PAYMENTS
WHERE DATEOFPAYMENT = (SELECT MAX(DATEOFPAYMENT) FROM PAYMENTS)
しかし、これはグループ化を求めると不平を言うので機能しませんか?
2 つのオプションがあります。MAX 値を選択してください
select max(DateOfPayment) FROM Payments
または、DateOfPayment desc で上位 1 つの DateOfPayment 注文を選択します
両方を実行し、計画とパフォーマンスを確認して、最適なものを選択してください:)
cluase によってグループによって使用されるすべての集計関数:
SELECT DATEOFPAYMENT FROM PAYMENTS WHERE DATEOFPAYMENT = (SELECT MAX(DATEOFPAYMENT) FROM PAYMENTS グループ by DATEOFPAYMENT)
最後に支払いが行われたのはいつですか?
SELECT MAX(支払日) AS DateOfPAyment FROM Payment
または、たとえば、各従業員が最後に支払われた時間を示すリストが必要な場合は、次を使用します
SELECT MAX(dateofpayment) FROM Payment GROUP BY EmployeeID
group by を求められているのは、集計関数を使用しているためです。