按列反向顺序选择值

时间:2012-11-26 12:58:45

标签: mysql

我需要在逆序表结构中选择记录机智列。 例如, 如果我的表格结构是这样的

class   name        rank  
------  ----------  ------
A       Nija             2
D       cruz             3
B       Antony           4
C       silverster       5
A       febin            1   

表示我希望结果为

  rank  name        class 
------  ----------  ------
     2  Nija        A     
     3  cruz        D     
     4  Antony      B     
     5  silverster  C     
     1  febin       A     

你可以说选择排名,名称,类等列。但My Table列会动态增加。如果我的表包含任意数量的列但是结果应该与表结构相反,我想要结果。这里我只选择所有列。

2 个答案:

答案 0 :(得分:1)

试试这个:

SET @myval=(select group_concat(COLUMN_NAME)from (
SELECT ORDINAL_POSITION, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'Table1'
order by ORDINAL_POSITION desc) a);

SET @strsql=CONCAT('select ',@myval,' from Table1');

PREPARE stmt FROM @strsql; 
EXECUTE stmt;

SQL FIDDLE DEMO

答案 1 :(得分:0)

你为什么不这么做?

SELECT rank, name, class FROM table_name;