MYSQL:在1中显示多个列

时间:2015-03-31 12:40:23

标签: mysql

我有以下查询:

SELECT col1, col2, col3, col4
FROM table
WHERE ...

结果如下:

col1 col2 col3 col4 1 2 3 4 1.1 2.1 3.1 4.1

但我想得到一个结果:

col1,col2,col3,col4 1 1.1 2 2.1 ...

任何想法?

编辑: 我必须在包含9和1列的2个表中搜索一个String。 然后我需要对它进行排序所有IN 1 COLUMN并且只得到5个第一项。

2 个答案:

答案 0 :(得分:0)

您可以使用union子句执行此操作。这样的事情: -

SELECT col1
FROM table
WHERE ...
     UNION
SELECT col2
FROM table
WHERE ...
     UNION
SELECT col3
FROM table
WHERE ...
     UNION
SELECT col4
FROM table
WHERE ...

希望这会对你有所帮助。

答案 1 :(得分:0)

如果此处没有更多要求,您可以这样做:

select first_col
from
 (
   select 'col1, col2, col3, col4' as first_col, 1 as rnk
   union all
   select col1,2
   union all
   select col2,3
   union all
   select col3,4
   union all 
   select col4,5
   ) t
   order by 2

这是一个订单,但可能你不需要它