8,497
社区成员
发帖
与我相关
我的任务
分享
SELECT * FROM [TFunds]
ORDER BY CASE WHEN FilingDeadline >= GetDate() THEN 0 ELSE 1 END,IsRecommend Desc,ABS(DATEDIFF(hh, GETDATE(), FilingDeadline)),PublishTime desc
static void Main(string[] args)
{
List<TList> list = new List<TList>() {
new TList(){ Id=2,Name="a1",AddTime=DateTime.Now },
new TList(){ Id=1,Name="a2",AddTime=DateTime.Now.AddDays(1) },
new TList(){ Id=3,Name="a3",AddTime=DateTime.Now.AddDays(2) },
new TList(){ Id=5,Name="a4",AddTime=DateTime.Now.AddDays(3) },
new TList(){ Id=4,Name="a5",AddTime=DateTime.Now.AddDays(4) },
new TList(){ Id=6,Name="a6",AddTime=DateTime.Now.AddDays(5)},
new TList(){ Id=7,Name="a7",AddTime=DateTime.Now.AddDays(6) },
};
List<TList> _list = list.OrderBy(x => x.Id > 4 ? 0 : 1).ThenByDescending(x => x.AddTime).ThenByDescending(x => Math.Abs((DateTime.Now.Subtract(x.AddTime).TotalHours))).ToList();
}
public class TList
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime AddTime { get; set; }
}