2013-03-24 25 views
-2

我正在嘗試找到大多數孩子的父母。我覺得這不應該那麼難,但是我發現自己在掙扎。Ltree找到大多數孩子的父母postgresql

我正在使用postgresql和Ltree。

謝謝

+0

後續問題:http://stackoverflow.com/questions/15601829/postgresql-ltree-query-to-find-parent-with-most-children-不包括 - 根 – 2013-03-24 23:12:19

回答

2

這是相同的邏輯,任何其他情況下,找到一個功能,這將使你的父母和GROUP BY它。這應該工作:

SELECT subpath(path,0,1), count(*) 
FROM test 
GROUP BY subpath(path,0,1) 
ORDER BY count(*) DESC limit 1; 

http://sqlfiddle.com/#!12/8fb17/5

+0

感謝您的迴應。我得到一個PG ::錯誤:錯誤:無效的位置 – Davinj 2013-03-24 08:46:09

+0

@Davinj示例小提琴的作品,我不能說你爲什麼沒有看到你的查詢和架構得到錯誤。 – 2013-03-24 08:53:20

+0

@Davinj哦,我明白是什麼原因導致了這個錯誤,你需要在WHERE子句中使用一個條件來限制只有那些具有足夠級別的ltrees。看到這裏:http://sqlfiddle.com/#!12/8fb17/15 – 2013-03-24 08:58:45