2013-10-26 35 views
1

如果我有一個表通用方法來查找Postgres中用於聚合的元組?

col1 |  name  | pay 
------+------------------+------ 
    1 | Steve Jobs  | 1006 
    2 | Mike Markkula | 1007 
    3 | Mike Scott  | 1978 
    4 | John Sculley  | 1983 
    5 | Michael Spindler | 1653 

用戶執行和查詢其總結的人的薪酬得到報酬超過$ 1500。有沒有辦法隱式知道哪些元組已被使用滿足條件的總和?

我知道你可以單獨編寫另一個查詢來返回滿足條件的主鍵ID。但是,在相同的查詢中是否有其他方法可以做到這一點?可能以某種方式重寫查詢?或...

基本思想是存儲對已經用於聚合查詢的所有元組的引用。
有什麼建議嗎?

+0

但是,在這種情況下,您的預期產出是多少?你期望在結果中包含哪些列和值? –

+0

基本上我不能控制在數據庫中執行哪些查詢。我只是想在執行這些查詢時在內部維護一個被引用的元組列表。 – Rahul

回答

3

可以做,使用array_agg

SELECT sum(pay), array_agg(col1) 
FROM salaries 
WHERE pay > 1500 

array_agg聚集體從塔的值成陣列。

+0

賓果。這正是我想要的。謝謝 – Rahul

相關問題