Mysql从最大值到最小值对行和列进行排名,并在php代码中显示排名?

Mysql从最大值到最小值对行和列进行排名,并在php代码中显示排名?,php,mysql,sql,Php,Mysql,Sql,我想做一个代码,做一些事情 我有一个包含列和行的表,我需要从表中获取表中的所有最大值,并将它们从高到低排列 例如: 要在php文件中显示它,如下所示: 1-PS、2-PD、3-PS、4-LSI、5-PD、6-PS、7-FRD、8-LSI、9-PD、10-PS、11-AK、12-FRD、13-LSI、14-PD、15-PS等等……试试: select type, @curRank := @curRank + 1 AS rank, amount from (SELECT @curRank := 0

我想做一个代码,做一些事情

我有一个包含列和行的表,我需要从表中获取表中的所有最大值,并将它们从高到低排列

例如:

要在php文件中显示它,如下所示:

1-PS、2-PD、3-PS、4-LSI、5-PD、6-PS、7-FRD、8-LSI、9-PD、10-PS、11-AK、12-FRD、13-LSI、14-PD、15-PS等等……
试试:

select type, @curRank := @curRank + 1 AS rank, amount
from (SELECT @curRank := 0) r
cross join
(select 'PD' type, PD amount from mytable union all
 select 'LSI' type, LSI from mytable union all
 select 'FRD' type, FRD from mytable union all
 select 'AK' type, AK from mytable union all
 select 'PS' type, PS from mytable union all
 select 'PR' type, PR from mytable) v
order by amount desc
你可以试试这个

 Select cod,val
From
(
 Select 'pd' as cod, pd as val FROM Table1
union all
Select 'lsi' as cod, lsi as val FROM Table1
union all
Select 'val' as cod,frd as val FROM Table1
union all
Select 'ak' as cod,ak as val FROM Table1
union all
Select 'ps' as cod,ps as val FROM Table1
union all
Select 'pr' as cod, pr as val FROM Table1
) x
order by val desc

然后在php代码中,只需按顺序获取它 范例


用于($i=1;$iWe需要更多信息:表数据位于何处?您是否尝试读取HTML表并将其结果加载到数组中,该数组将按照您在后面描述的方式进行处理?更大的是谁的第一个元素更大,例如,PD=4000是第三个位置,LSI=4000是第一个位置。该表位于mysql中,表名称为“partite”,元素为PS、PS、LSI、FRD、AK、PR,每个元素的编号不同非常感谢,这是一个想法,但我想知道另一件事,我如何生成第一个值:(1114、12、1444、7444),以数字2/3/4/5/6…等进行分配?例如12/2=6和6/3=2…并生成第二行值?因此,我将pd、ps等的第一个值以及自动分配的值放入。抱歉,我不明白您想要什么。您能编辑您的问题并添加您想要的结果或您想要的结果并对其进行良好的解释吗?我正在考虑do对数据项中的值进行数学运算,您只需解释,并在您的问题中显示所希望的结果
    for($i=1 ; $i<= mysql_num_rows($query) ; $i++){  // or you can use count(*) in your query
    echo $i.'-'.$row['cod'] ;
    }
  //not tested but its this idea