C# 使用linq查询使用orderby
我有4列,设施0ID,名称,日期,数量。我这里没什么问题 如何根据数量使用orderby。我想找到前三排。任何人都可以帮忙,谢谢C# 使用linq查询使用orderby,c#,linq,C#,Linq,我有4列,设施0ID,名称,日期,数量。我这里没什么问题 如何根据数量使用orderby。我想找到前三排。任何人都可以帮忙,谢谢 DataClassesDataContext db = new DataClassesDataContext(); var query = from p in db.Facilities join v in db.Reservations on p.facilities_id equals v.facilities_i
DataClassesDataContext db = new DataClassesDataContext();
var query = from p in db.Facilities
join v in db.Reservations on p.facilities_id equals v.facilities_id
join c in db.Reservation_Details on v.reservation_id equals
c.resevation_id
where SqlMethods.Like(c.date, "%" + DropDownList1.Text + "%")
select new
{
p.facilities_id,
p.name,
c.date,
Quantity = p.Reservations.Count()
};
GridView1.DataSource = query.GroupBy(x => x.facilities_id)
.Select(g => g.First())
.ToList();
GridView1.DataBind();
int totalRowsCount = GridView1.Rows.Count;
Label2.Text = DateTime.Now.ToShortDateString();
Label3.Text = totalRowsCount.ToString() + " record(s)";
Label4.Text = DropDownList1.Text;
数据库中的数据
facilities_id name date Quantity
F001 cc 12-12-2014 3
F002 vv 12-12-2014 2
F003 gg 12-12-2014 1
F004 bb 12-12-2014 5
这是我的预期输出
facilities_id name date Quantity
F004 bb 12-12-2014 5
F001 cc 12-12-2014 3
F002 vv 12-12-2014 2
使用
OrderByDescending
按Quantity
降序对记录进行排序,然后Take
first3
记录:
query.GroupBy(x => x.facilities_id)
.Select(g => g.First())
.OrderByDescending(x => x.Quantity)
.Take(3)
.ToList();
使用
OrderByDescending
按Quantity
降序对记录进行排序,然后Take
first3
记录:
query.GroupBy(x => x.facilities_id)
.Select(g => g.First())
.OrderByDescending(x => x.Quantity)
.Take(3)
.ToList();
用于降序“OrderByDescending”
.OrderByDescending(x=>x.Quantity)代码>
用于升序“OrderBy”
OrderBy(x=>x.Quantity)代码>用于降序“OrderByDescending”
.OrderByDescending(x=>x.Quantity)代码>
用于升序“OrderBy”
OrderBy(x=>x.Quantity)代码>您需要首先使用降序表示列数量,然后使用前三行您需要首先使用降序表示列数量,然后使用前三行