평균 점수가 가장 높은 학생의 학생 번호를 찾으려면 성적을 학생 테이블과 연결하는 SQL 쿼리를 작성하는 방법은 무엇입니까?
P粉786432579
2023-08-15 15:11:01
<p>这是我的学生表 stud 表</p>
<table class="s-table">
<thead>
<tr>
<th style="text-align:center;">rollno</th>
<th style="text-align:center;">name</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center;">1</td>
<td style="text-align:center;">A</td>
</tr>
<tr>
<td style="text-align:center;">2</td>
<td style="text-align:center;">B</td>
</tr>
<tr>
<td style="text-align:center;">3</td>
<td style="text-align:center;">C</td>
</tr>
<tr>
<td style="text-align:center;">4</td>
<td style="text-align:center;">B</td>
</tr>
<tr>
<td style="text-align:center;">5</td>
<td style="text-align:center;">D</td>
</tr>
<tr>
<td style="text-align:center;">6</td>
<td style="text-align:center;">C</td>
</tr>
</tbody>
</table>
<p>这是我的成绩表 marks 表</p>
<table class="s-table">
<thead>
<tr>
<th style="text-align:center;">rollno</th>
<th style="text-align:center;">mar</th>
<th style="text-align:center;">eng</th>
<th style="text-align:center;">maths</th>
<th style="text-align:center;">phy</th>
<th style="text-align:center;">chem</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center;">1</td>
<td style="text-align:center;">40</td>
<td style="text-align:center;">45</td>
<td style="text-align:center;">38</td>
<td style="text-align:center;">50</td>
<td style="text-align:center;">50</td>
</tr>
<tr>
<td style="text-align:center;">2</td>
<td style="text-align:center;">28</td>
<td style="text-align:center;">50</td>
<td style="text-align:center;">45</td>
<td style="text-align:center;">41</td>
<td style="text-align:center;">38</td>
</tr>
<tr>
<td style="text-align:center;">3</td>
<td style="text-align:center;">41</td>
<td style="text-align:center;">42</td>
<td style="text-align:center;">43</td>
<td style="text-align:center;">44</td>
<td style="text-align:center;">45</td>
</tr>
<tr>
<td style="text-align:center;">4</td>
<td style="text-align:center;">45</td>
<td style="text-align:center;">44</td>
<td style="text-align:center;">43</td>
<td style="text-align:center;">42</td>
<td style="text-align:center;">41</td>
</tr>
<tr>
<td style="text-align:center;">5</td>
<td style="text-align:center;">33</td>
<td style="text-align:center;">32</td>
<td style="text-align:center;">42</td>
<td style="text-align:center;">15</td>
<td style="text-align:center;">41</td>
</tr>
</tbody>
</table>
<p>对于以下查询:</p>
<pre class="brush:php;toolbar:false;">select rollno,(mar+eng+maths+phy+chem)/5 as average from marks;</pre>
<p>我得到的结果是:op</p>
<table class="s-table">
<thead>
<tr>
<th style="text-align:center;">rollno</th>
<th style="text-align:center;">average</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center;">1</td>
<td style="text-align:center;">44.6000</td>
</tr>
<tr>
<td style="text-align:center;">2</td>
<td style="text-align:center;">40.4000</td>
</tr>
<tr>
<td style="text-align:center;">3</td>
<td style="text-align:center;">43.0000</td>
</tr>
<tr>
<td style="text-align:center;">4</td>
<td style="text-align:center;">43.0000</td>
</tr>
<tr>
<td style="text-align:center;">5</td>
<td style="text-align:center;">32.6000</td>
</tr>
</tbody>
</table>
<p>现在要找到平均分最高的学生的学号,我应该写什么查询?</p>
<p>我尝试使用</p>
<pre class="brush:php;toolbar:false;">select rollno,max(
select (mar+eng+maths+phy+chem)/5 from marks
)
from marks;</pre>
<p>但是给我返回了语法错误</p>
하위 쿼리가 여러 행을 반환하기 때문에 이 구문은 잘못되었습니다. max 함수에는 하나의 값만 사용할 수 있습니다.
이것이 더 좋은 방법입니다 -
으아악