SQL表查询设置

cod*_*ama 3 mysql sql

我有下表:

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.

Luk*_*sik 6

尝试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可以由任何其他聚合函数替换