我使用了2个表,Employer
和Jobs
表。
雇主表的值如下:
E_ID e_name
1 john
2 rick
3 mike
Jobs表的值如下:
J_ID FK_eID J_Title
1 1 Job1
2 1 Job2
3 3 Job3
4 2 Job4
5 3 Job5
6 1 Job6
所以这些工作是由雇主创造的,
我想要的是过滤哪个雇主发布了大量工作,并在列表中以最大到最小顺序显示e_name ...
我使用的代码(没有关于SQL部分的线索):
SqlConnection myConn2;
SqlCommand myCommand2;
SqlDataReader myReader2;
String SQL2,SQL, divjobs;
myConn2 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
divjobs = "<ul>";
myConn2.Open();
SQL2 = "";
myCommand2 = new SqlCommand(SQL2, myConn2);
myReader2 = myCommand2.ExecuteReader();
while (myReader2.Read())
{
divjobs = divjobs + "<li>" + "<a href='employers/viewemployer.aspx?EID=" + myReader2["e_id"] + "'>" + myReader2["e_name"] + "</a>" + "</li>";
}
divjobs = divjobs + "</ul>";
topemp.InnerHtml = divjobs;
myConn2.Close();
答案 0 :(得分:4)
由雇主分组并按每个人的工作计数排序
select e.e_name, count(j.j_id) as jobs
from employer e
left join jobs j on j.fk_eid = e.e_id
group by e_id, e.e_name
order by count(j.j_id) desc