簡単なテーブル:
create table [dbo].[payraisehistory]
(
[id][int] not null,
[payrate][money] not null,
[empid][int] not null
)
// 最後のペイレートの引き上げを返すクエリ
select prh.empid, max(prh.dategrant)
from payraisehistory prh
group by prh.empid
empid (No column name)
2 2013-07-30 00:00:00.000
3 2013-07-30 00:00:00.000
どうすればペイバックを取得できますか....ペイレートを追加すると、最新のペイレートではなくすべての行が返されます(max(dategrant)あたり)。
ネストされたクエリを使用せずにこれを行いたいです。group by には何が欠けていますか?
select prh.empid, prh.payrate, max(prh.dategrant)
from payraisehistory prh
group by prh.empid, payrate
empid payrate (No column name)
2 20.00 2013-04-30 00:00:00.000
2 30.00 2013-05-30 00:00:00.000
2 40.00 2013-06-30 00:00:00.000
2 50.00 2013-07-30 00:00:00.000
3 100.00 2013-04-30 00:00:00.000
3 120.00 2013-07-30 00:00:00.000