我想知道是否有办法通过列返回我的结果。 Simple Select语句将返回
_________________
| id | name |
| 1 | abc |
| 2 | abc1 |
| 3 | abc2 |
有没有办法像我这样检索我的结果
| 1 | abc | 2 | abc1| 3 | abc2|
或喜欢
|1 | 2 | 3 |
|abc |abc1|abc2|
我只返回4列,我将数据用作其他查询的标题。请帮我。感谢
答案 0 :(得分:3)
试试这个:
select group_concat(id,"|",name SEPARATOR '|') from T;
答案 1 :(得分:2)
您可以使用PIVOT
来实现此目的。您需要使用MAX
和GROUP BY
来模拟PIVOT
。
SELECT Id,
MAX(CASE WHEN Id = 1 THEN name END) col1,
MAX(CASE WHEN Id = 2 THEN name END) col2
FROM Table1
GROUP BY Id
您需要根据分组数据所需的条件来决定。试试这个例子。
答案 2 :(得分:2)
试试这个..
SELECT
MAX
(
CASE id WHEN 1
THEN name
ELSE NULL END
) AS `1`,
MAX
(
CASE id WHEN 2
THEN name
ELSE NULL END
) AS `2`,
MAX
(
CASE id WHEN 3
THEN name
ELSE NULL END
) AS `3`
FROM tbl;
答案 3 :(得分:1)
我解决了我的问题,因为他们给了我线索,现在这是我的代码,我想分享它
SELECT
MIN( CONCAT(title,"\n", DATE_FORMAT(start_time,'%h:%i %p')) ) col1,
MAX( CONCAT(title,"\n", DATE_FORMAT(start_time,'%h:%i %p')) ) col2
from table
谢谢大家