2014-06-05 53 views
1

在SQL中,當我從「表A」的一列的投影執行查詢時,得到的結果在該列的三行中設置,我需要在一行中並排排列。如何並排顯示結果

select rank from table A where name="RAMESH" 

我對名字1,2,3行列 「拉梅什」 我得到的結果設置爲

RANK 
---- 
1 
2 
3 

但我需要這樣的

RANK(1) RANK(2) RANK(3) 
------- ----- -------- 
1   2  3 

請幫我解決....

由於提前

+1

通過這篇文章去參加的第一列:http://stackoverflow.com/questions/14834290/mysql-query-to-dynamic-convert-rows-to-columns你會得到一個好主意。 – Neels

+0

不要在數據庫級別執行此操作,請在應用程序級別執行此操作。 – fancyPants

+1

我試着旋轉顯示器。但是現在文本可以看到,而不是從左到右。我怎樣才能解決這個問題? –

回答

-1

嗯,這可能會工作

WITH x AS (SELECT rank FROM table A WHERE name="RAMESH") 
SELECT * 
FROM 
    (SELECT * FROM x LIMIT 0, 1)as a, 
    (SELECT * FROM x LIMIT 1, 1)as b, 
    (SELECT * FROM x LIMIT 2, 1)as c 
LIMIT 1; 

您與第二,然後第三

+1

MySQL不支持公用表表達式,沒有order by的LIMIT不是確定性的。 – GarethD

+0

我使用限制來提高性能。沒有限制,它仍然可以工作,但除了第一個以外,你將不得不忽略所有其他行。正如你不能使用你可以做出多個選擇。 – GramThanos