Postgresql
使用 plpgsql 計算為輸出選擇的記錄並輸出這些記錄
我的查詢從 table1 中選擇 1 行,其中包含多個欄位和一個非常長的文本欄位。它與第二個 table2 連接,該 table2 可能有許多匹配的相應行。我希望能夠將 table1 中的長文本欄位擴展到多行(由 table2 中的匹配行確定的數量)。
在上表中,Table1 中有一行,其中鍵是 table1_key = ‘DU’ 和 year = ‘2017’。然後有來自 Table2 的四行與包含 program_code 和 course_code 的匹配鍵。我想要分佈在多行中的欄位 long_text_field 來自 Table1。
是否可以為已選擇輸出的記錄提取總行數並仍輸出行?這意味著我想從上面看到 4 的計數,並能夠在顯示的輸出中使用這個數字。所以結果看起來像這樣:
我不明白你的例子,但如果這只是標題中問題的說明,答案是一個視窗函式:
SELECT /* all your columns and expressions */, count(*) OVER () AS total_count FROM /* the rest of your query */
這將在每個結果行中附加一列,其中包含結果行的總數。
視窗函式在 之後
GROUP BY
,但在ORDER BY
和之前呼叫LIMIT
。