0

簡単なテーブル:

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
4

4 に答える 4