[英]SQL- how to find the top 1 row?
我必須為每個帳戶找到有效日期的前1行
account dt_effective
-------------------------
1 14-04-2012
1 15-04-2012
2 13-02-2011
2 11-03-2012
3 1-01-2010
3 02-02-2010
3 05-01-2012
答案必須是:
account dt_effective
-------------------------
1 14-04-2012
2 13-02-2011
3 1-01-2010
您能幫我查詢一下嗎?
更新了問題
你可以試試
SELECT account, MIN(dt_effective) FROM your_table
GROUP BY account
SELECT account, MAX(dt_effective)
FROM [table]
GROUP BY account
SELECT account, MAX(dt_effective)
FROM yourTableName
GROUP BY account
如果您需要輸入第一個生效日期,只需將max更改為min
SELECT account, MIN(dt_effective)
FROM yourTableName
GROUP BY account
嘗試這個:
select account, MAX(dt_effective) from table group by account;
我已經嘗試過下面提到的查詢,並按預期工作。
DECLARE @T TABLE(ACCOUNTID INT, ACCOUNTDATE DATETIME)
INSERT INTO @T
VALUES(1, CONVERT(DATE,'14-04-2012',105))
INSERT INTO @T
VALUES(1, CONVERT(DATE,'15-04-2012',105))
INSERT INTO @T
VALUES(2, CONVERT(DATE,'13-02-2011',105))
INSERT INTO @T
VALUES(2, CONVERT(DATE,'11-03-2012',105))
INSERT INTO @T
VALUES(3, CONVERT(DATE,'1-01-2010',105))
INSERT INTO @T
VALUES(3, CONVERT(DATE,'02-02-2010',105))
INSERT INTO @T
VALUES(3, CONVERT(DATE,'05-01-2012',105))
SELECT * FROM @T
SELECT ACCOUNTID, MAX(ACCOUNTDATE) FROM @T
GROUP BY ACCOUNTID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.