2

SQL を使用して最後の支払いを取得する方法

例:

SELECT DATEOFPAYMENT
FROM PAYMENTS
WHERE DATEOFPAYMENT = (SELECT MAX(DATEOFPAYMENT) FROM PAYMENTS)

しかし、これはグループ化を求めると不平を言うので機能しませんか?

4

7 に答える 7

0

2 つのオプションがあります。MAX 値を選択してください

select max(DateOfPayment) FROM Payments

または、DateOfPayment desc で上位 1 つの DateOfPayment 注文を選択します

両方を実行し、計画とパフォーマンスを確認して、最適なものを選択してください:)

于 2013-07-19T10:00:56.953 に答える
0

cluase によってグループによって使用されるすべての集計関数:

SELECT DATEOFPAYMENT FROM PAYMENTS WHERE DATEOFPAYMENT = (SELECT MAX(DATEOFPAYMENT) FROM PAYMENTS グループ by DATEOFPAYMENT)

于 2013-07-19T09:56:39.583 に答える
0

最後に支払いが行われたのはいつですか?

SELECT MAX(支払日) AS DateOfPAyment FROM Payment

または、たとえば、各従業員が最後に支払われた時間を示すリストが必要な場合は、次を使用します

SELECT MAX(dateofpayment) FROM Payment GROUP BY EmployeeID

group by を求められているのは、集計関数を使用しているためです。

于 2013-07-19T15:46:26.150 に答える