If you would like to get 3 records of every item:
DECLARE @PODetail TABLE(ItemCode VARCHAR(30), PONO VARCHAR(30), Rate INT, PODate Date)
INSERT INTO @PODetail(ItemCode, PONO, PODate, Rate)
VALUES('Item1', 'PO50', '2019-12-27', 1000),
('Item1', 'PO49', '2019-12-28', 1001),
('Item1', 'PO48', '2019-12-29', 1002),
('Item2', 'PO25', '2019-12-27', 2001),
('Item2', 'PO24', '2019-12-28', 2002),
('Item2', 'PO23', '2019-12-29', 2003),
('Item1', 'PO39', '2019-12-30', 1000),
('Item1', 'PO38', '2019-12-31', 1001),
('Item1', 'PO37', '2020-01-02', 1002),
('Item2', 'PO36', '2019-12-30', 2001),
('Item2', 'PO35', '2020-01-02', 2002),
('Item3', 'PO34', '2020-01-02', 2003)
SELECT *
FROM
(
SELECT ROW_NUMBER() OVER(PARTITION BY ItemCode ORDER BY PODate DESC) srno, ItemCode, PONO, Rate, PODate
FROM @PODetail
) T
WHERE srno IN (1, 2, 3)