php - 按最大值对查询结果进行排序(结果从最大值到最小值)

标签 php mysql

我有一个表(tuition_fees),由id、uni、本科生和研究生组成。查询返回本科和研究生的学费以及总和结果(本科和研究生)。如何按总和的最大值到最小值对这些结果进行排序。

<?php
$connect = mysqli_connect('localhost', 'root', '', 'test')or die ( mysqli_error($connect) ); 
$sSQL= 'SET CHARACTER SET utf8'; 
mysqli_query($connect,$sSQL) 
or die ('Can\'t charset in DataBase'); 
$output = '';
$return = '';
$search = mysqli_real_escape_string($connect, $_POST["query"]);
 $query = "select t.uni, 
(select  undergraduate from tuition_fees where `uni` = t.uni) as 'undergraduate1',
(select  postgraduate from tuition_fees where `uni` = t.uni) as 'postgraduate2'
from tuition_fees t group by t.uni
";


$result = mysqli_query($connect, $query);

$i=1;
 while($row = mysqli_fetch_array($result))

{

$return .='<tr>';

$return .=  '<td style="width: 4%; background:#F0F8FF; color:black;" align="center">' . $i . '</td>'; 
$return .='<td style="width: 15%; background:#F0F8FF; color:black;" align="right">'.$row['uni'].'</td>';
$return .='<td style="width: 14%; background:#F0F8FF; color:black;" align="center">'.$row['undergraduate1'].'</td>';
$return .='<td style="width: 14%; background:#F0F8FF; color:black;" align="center">'.$row['postgraduate2'].'</td>';

$totalsum1=$row['undergraduate1']+$row['postgraduate2'];
$return .='<td style="width: 14%; background:#F0F8FF; color:#00008B;" align="center">'.$totalsum1.'</td>';
$return .='</tr>';
$i++;
}
echo "<br/><div style ='font:18px Times New Roman,sans-serif;'> $return</div>";   

?>

最佳答案

不是答案;评论太长了...

就其值(value)而言,我发现这更容易阅读......

$totalsum1=$row['undergraduate1']+$row['postgraduate2'];

$return .= 
'<tr>
  <td style="width: 4%; background:#F0F8FF; color:black;" align="center"> $i </td>
  <td style="width: 15%; background:#F0F8FF; color:black;" align="right"> {$row['uni']} </td>
  <td style="width: 14%; background:#F0F8FF; color:black;" align="center"> {$row['undergraduate1']} </td>
  <td style="width: 14%; background:#F0F8FF; color:black;" align="center"> {$row['postgraduate2']} </td>
  <td style="width: 14%; background:#F0F8FF; color:#00008B;" align="center">$totalsum1</td>
  </tr>';
$i++;

关于php - 按最大值对查询结果进行排序(结果从最大值到最小值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55853109/

相关文章:

mysql - 为什么 MySQL 命令行客户端拒绝我的语句,而 Workbench 对此没有问题?

php - 使用android从WAMP服务器存储和检索图像

java - 问: Talend,找出哪个数据库从webservice接收数据

java - JPA Hibernate更新界面中的查询

PHP 将 MyAdmin MySQL 数据库连接到 DreamHost 托管的站点时遇到困难

php - 如何使用示例 49 和序列化 TCPPDFtagParameters 而不是 write1DBarcode 将 TCPDF 条码放入 html 表中?

php - 尝试将数据发送到 GCM 时出现 MissingRegistraton 错误

php - 如何根据模板部分对脚本进行排队?

PHP: PDO bindValue() 导致返回 0 个结果

mysql - ORDER BY [My]SQLite 上文本列的离散值]