我有下表:
UID | Limit |Type
8 | 4 |A
8 | 5 |B
8 | 6 |C
Run Code Online (Sandbox Code Playgroud)
我想要一个查询,它将返回所有这些值,但在一行中,如下所示:
UID | A | B | C
8 | 4 | 5 | 6
Run Code Online (Sandbox Code Playgroud)
谁知道如何用SQL做到这一点?我使用MySQL.
尝试PIVOT命令.这是一个很好的例子.
http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/
您需要的命令可能如下所示:
SELECT UID, A, B, C
FROM (
SELECT *
FROM table1) t1
PIVOT (SUM(Limit) FOR [Type] IN (A,B,C)) AS pvt
Run Code Online (Sandbox Code Playgroud)
SUM可以由任何其他聚合函数替换