C# ling to sql 取多條記錄最大時(shí)間的實(shí)例代碼

2019-10-10 10:12:57 來源:互聯(lián)網(wǎng)作者:低調(diào)碼農(nóng)哥 人氣: 次閱讀 604 條評(píng)論

文章主要介紹了C# ling to sql 取多條記錄最大時(shí)間,文中通過實(shí)例代碼給大家介紹了sql 查詢相同記錄下日期最大的 一條,代碼簡(jiǎn)單易懂,需要的朋友可以參考下...

文章主要介紹了C# ling to sql 取多條記錄最大時(shí)間,文中通過實(shí)例代碼給大家介紹了sql 查詢相同記錄下日期最大的 一條,代碼簡(jiǎn)單易懂,需要的朋友可以參考下

具體代碼如下所述:

var _setList = (from f in _postgreDbContext.settlements
                           group f by ( new { f.settlement_code })into g
                 select new
                 {
                   deal_time = g.Max(m => m.deal_time),
                   g.Key.settlement_code
                 }).AsNoTracking().ToList();

知識(shí)點(diǎn)擴(kuò)展:sql 查詢相同記錄下日期最大的 一條

日期 編號(hào) 倉(cāng)庫(kù) 數(shù)量

2012-05-31 C001 A店 136.00
2012-05-29 C001 A店 139.00
2012-05-29 C001 B店 5.00
2012-05-30 C001 B店 6.00

我只顯示最大日期的記錄,這個(gè)SQL怎么寫呀?


日期 編號(hào) 倉(cāng)庫(kù) 數(shù)量

2012-05-31 C001 A店 136.00
2012-05-30 C001 B店 6.00

SQL code

select * from tb t where not exists ( select 1 from tb where 編號(hào) = t.編號(hào) and 倉(cāng)庫(kù) = t.倉(cāng)庫(kù) and 日期 > t.日期)

方法2:

create table cangku ( F_RQ datetime, F_BH VARCHAR(20), F_SL FLOAT )
 
INSERT INTO cangku VALUES('2012-05-31','C001',343) INSERT INTO cangku VALUES('2012-05-30','C001',34) INSERT INTO cangku VALUES('2012-05-30','C002',33) INSERT INTO cangku VALUES('2012-05-26','C002',23)
 
SELECT * FROM cangku T,(SELECT F_BH,MAX(F_RQ) rq FROM cangku GROUP BY F_BH) t2 where t.F_BH=t2.F_BH and t.F_RQ>=t2.rq

方法3:更好理解:

select * from table a where a.date in (select max(b.date) from table b where b.id=a.id)

總結(jié)

以上所述是小編給大家介紹的C# ling to sql 取多條記錄最大時(shí)間,希望對(duì)大家有所幫助。