我想獲取最新的10個唯一記錄,其最後12個字符應該是唯一的。 樣本數據如何在linq查詢中獲取唯一值
JSON數據
[{ 「時間戳」: 「2017-03-20T05:27:01.688Z」, 「數據幀」: 「ACnrAAAAAAAAAAA =」, 「FCNT」:165, 「端口」 :3, 「RSSI」: - 85, 「SNR」:7, 「sf_used」:12, 「ID」:1489987621688, 「解密」:真},{ 「時間戳」:「2017-03-20T05:27:41.675 Z 「 」數據幀「: 」ACntAAAAAAAAAAA =「, 」FCNT「:169, 」端口「:3 」RSSI「: - 85, 」SNR「:9 」sf_used「:12, 」ID「:1489987661675」解密「:真},..
AGMDAQo1/wSsCPU=
AGMEAQo1/wSsCPU=
AGMFAQo1/wSsCPU=
AGMGAQo1/wSsCPU=
AGMHAQo1/wSsCPU=
ASHAAQo2FgSsBxc=
得到這樣的輸出,但它應該只有一個,因爲最後12個字符是相同的。
AGMDAQo1/wSsCPU=,
AGMEAQo1/wSsCPU=,
AGMFAQo1/wSsCPU=
期望的輸出
AGMDAQo1/wSsCPU=
ASHAAQo2FgSsBxc=
代碼
var Pirs = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AssetDetail>>(responseString);
var items = Pirs.Where(a => !a.dataFrame.EndsWith("AAAAAAAAAAA="))
.GroupBy(a => a.dataFrame)
.Select(g => g.First())
.OrderByDescending(a => a.timestamp)
.Take(10);
模型
public class AssetDetail
{
public long id { get; set; }
public DateTime timestamp { get; set; }
public string dataFrame { get; set; }
public long fcnt { get; set; }
public int port { get; set; }
public int rssi { get; set; }
public string snr { get; set; }
public string sf_used { get; set; }
public bool decrypted { get; set; }
}
什麼是不工作? – CodingYoshi
我想要在數據框中的唯一值。最後12個字符應該是唯一的。在一個數據框中,我有3個值,其中2個值應該是唯一的。這兩個值是最後12個字符。 –
我得到那部分,但我問你的查詢有什麼問題:你不喜歡什麼回報? – CodingYoshi