【问题标题】:How to display largest total first in MySQL?如何在MySQL中首先显示最大的总数?
【发布时间】:2014-05-19 11:37:05
【问题描述】:

我有一个对列总数求和的小查询,有没有一种方法可以按 ASC 排序,以便结果首先显示总数最大的行。

我的查询是:

select
sum(SeqID0101 = 1) as SeqID0101,
sum(SeqID0102 = 1) as SeqID0102,
sum(SeqID0103 = 1) as SeqID0103,
sum(SeqID0104 = 1) as SeqID0104,
sum(SeqID0105 = 1) as SeqID0105,
sum(SeqID0106 = 1) as SeqID0106,
sum(SeqID0107 = 1) as SeqID0107,
sum(SeqID0108 = 1) as SeqID0108,
sum(SeqID0109 = 1) as SeqID0109,
sum(SeqID0110 = 1) as SeqID0110
from 
PH001_Hist

编辑

您好,感谢您的回复。

我正在使用下面的代码来生成两列,1 带有字段名称,2 带有数据内容。这可以按我的要求工作。但是当查询对字段的内容求和时,我需要对结果进行排序以首先显示最大的字段内容。

例子:

字段名字段数据

SEQID0101 - 8

SeqID0108 - 6

SeqID0103 - 2

所以没有。

$row = mysql_fetch_assoc($FailedList);

echo '<table>';
foreach ($row as $k => $v)
echo '<tr><td>'.$k.'</td><td >'.$v.'</td></tr>';
echo '</table>';

我只是无法获得正确的代码来产生所需的结果。

任何帮助都会很棒。

【问题讨论】:

  • 呃,应该是 DESC !?!?但是您的问题实际上是糟糕的(即非规范化)设计之一。
  • 抱歉有点学究,但您显示的查询仅产生单行结果集。不清楚您所说的“总数最大的行”是什么意思。能否请您编辑您的问题,并注意“行”和“列”之间的区别。
  • 正是@OllieJones 这就是我要问的,DCJones 你没有做任何分组,它只是单行所以你为什么需要订购?

标签: php mysql sql-order-by


【解决方案1】:

试试看:

  ORDER BY GREATEST(SeqID0101,SeqID0102,SeqID0103,SeqID0104 , .....) DESC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-12
    • 1970-01-01
    相关资源
    最近更新 更多