将数据库表中所有列都有数据的行置于前位
P粉504080992
2023-08-18 15:48:44
<p>在MySQL5.7中,我有一个有28列和4000行的列。我想先获取所有有数据的行或者先获取有最多列数据的行,然后再逐渐获取其他行的数据。我该如何实现这个?</p>
<p>例如:
表:Student</p>
<table class="s-table">
<thead>
<tr>
<th style="text-align:center;">name</th>
<th style="text-align:center;">age</th>
<th style="text-align:center;">address</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:center;">tan</td>
<td style="text-align:center;">10</td>
<td style="text-align:center;"></td>
</tr>
<tr>
<td style="text-align:center;">gib</td>
<td style="text-align:center;">10</td>
<td style="text-align:center;">california</td>
</tr>
<tr>
<td style="text-align:center;">hal</td>
<td style="text-align:center;"></td>
<td style="text-align:center;"></td>
</tr>
<tr>
<td style="text-align:center;">pur</td>
<td style="text-align:center;">12</td>
<td style="text-align:center;"></td>
</tr>
</tbody>
</table>
<p>期望输出:'gib' 应该首先出现,然后是只有1列数据的 'tan' 或 'pur',最后是没有任何数据的 'hal'。</p>
假设
name
列永远不会有空值,我们可以尝试: