在mysql中通过列视图而不是行视图返回结果
我想知道是否有办法通过列返回我的结果。简单的Select语句将返回在mysql中通过列视图而不是行视图返回结果,mysql,Mysql,我想知道是否有办法通过列返回我的结果。简单的Select语句将返回 _________________ | id | name | | 1 | abc | | 2 | abc1 | | 3 | abc2 | 有没有办法像这样检索我的结果 | 1 | abc | 2 | abc1| 3 | abc2| 或者 |1 | 2 | 3 | |abc |abc1|abc2| 我只返回4列,我使用数据作为其他查询的标题。请帮帮我。谢谢
_________________
| id | name |
| 1 | abc |
| 2 | abc1 |
| 3 | abc2 |
有没有办法像这样检索我的结果
| 1 | abc | 2 | abc1| 3 | abc2|
或者
|1 | 2 | 3 |
|abc |abc1|abc2|
我只返回4列,我使用数据作为其他查询的标题。请帮帮我。谢谢您可以使用
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
您需要根据哪些标准对数据进行分组。试试这个例子。试试这个
查询
试试这个:
select group_concat(id,"|",name SEPARATOR '|') from T;
我解决我的问题是因为他们给了我线索,现在这是我的代码,我想和大家分享
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
谢谢大家我的成绩是。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。1 abc。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。2.abc1。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3\uuuuuuuuuuuuuuuuuuuuuuuuuuuc2
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