2017-02-16 4 views
0

Я хочу получить последнюю вставленную запись каждого MobileNo в сущности-рамках.Получить последнюю запись каждой группы в сущности?

Вот мои данные таблицы.

ID  RegNo  MobileNo CreatedDate 
26727 190077348 9696562673 13-02-2017 06:31 
26729 123782783 9696562673 13-02-2017 06:35 
45779 530087328 5878525875 07-02-2017 07:23 
99902 120058572 7379130560 08-02-2017 12:39 
64477 180073650 7417516480 10-02-2017 13:47 
81839 240087264 7754990580 11-02-2017 10:47 

и хотите выход, как

ID  RegNo  MobileNo CreatedDate 
26729 123782783 9696562673 13-02-2017 06:35 
45779 530087328 5878525875 07-02-2017 07:23 
99902 120058572 7379130560 08-02-2017 12:39 
64477 180073650 7417516480 10-02-2017 13:47 
81839 240087264 7754990580 11-02-2017 10:47 

ответ

8

Предполагая, что имя вашей таблицы Items:

var result = dbContext.Items.GroupBy(x => x.MobileNo) 
         .Select(x => x.OrderByDescending(y => y.CreatedDate).First()); 

Запуск образца: https://dotnetfiddle.net/3ud2pB

1

попробовать это.

;WITH cte AS 
(
    SELECT *, 
     ROW_NUMBER() OVER (PARTITION BY MobileNo ORDER BY CreatedDate DESC) AS rn 
    FROM yourtablename 
) 
SELECT * 
FROM cte 
WHERE rn = 1