0

我需要对列求和并将它们从高到低排序。

这是我试过的!

$sth = $db->prepare("SELECT sum(A), sum(S), sum(D), sum(F) FROM XXX order by A, S, D, F DESC");
$sth->execute();

$result = $sth->fetch(PDO::FETCH_ASSOC);

这是输出的样子:

Array ( [sum(A)] => 38 [sum(S)] => 194 [sum(D)] => 40 [sum(F)] => 164 )
4

3 回答 3

0

复制并粘贴此代码,您可以弄清楚:

$sth = array(

'sumA' => 38,
'sumB' => 194,
'sumC' => 40,
'sumD' => 164

);

arsort($sth);

foreach($sth as $element => $num){
    echo $element . $num . '</br>';
}
于 2013-08-04T18:39:42.940 回答
0
SELECT sum(A), sum(S), sum(D), sum(F) FROM XXX order by S DESC, A DESC, D DESC, F DESC

基本上,您必须将 添加DESC到要按降序排序的每一列。默认为升序。

于 2013-08-04T18:33:00.623 回答
0

为什么rsort()在返回结果时不使用 , 在 php 中?

sort()会从低到高,rsort()会从高到低

rsort($result);
print_r($result);

或者要保留数组的关联特征,请使用asort()(low->high) 或arsort(); (高->低)

arsort($result);
print_r($result);
于 2013-08-04T18:31:11.647 回答