溫馨提示×

PostgreSQL中Crosstab查詢的語法是什么

小樊
116
2024-08-10 09:41:40
欄目: 云計(jì)算

在PostgreSQL中,要執(zhí)行Crosstab查詢,需要使用crosstab()函數(shù)。其基本語法如下:

SELECT * FROM crosstab(
    'SELECT category, subcategory, value FROM your_table ORDER BY 1,2',
    'SELECT DISTINCT subcategory FROM your_table ORDER BY 1'
) AS ct(category text, subcategory1 text, subcategory2 text, ..., subcategoryN text);

這里your_table是要查詢的數(shù)據(jù)表,categorysubcategory是數(shù)據(jù)表中的字段,value是要進(jìn)行交叉表轉(zhuǎn)換的值。在crosstab()函數(shù)中,第一個參數(shù)是執(zhí)行SQL查詢獲取原始數(shù)據(jù)的語句,第二個參數(shù)是執(zhí)行SQL查詢獲取交叉表列名的語句。最后返回的結(jié)果是一個交叉表,其中category是原始數(shù)據(jù)的行標(biāo)簽,subcategory1、subcategory2等是原始數(shù)據(jù)的列標(biāo)簽,對應(yīng)的值是交叉表中的交匯點(diǎn)的值。

0