【发布时间】:2011-04-03 23:37:21
【问题描述】:
我想查询名称为“Shania Twain”的所有产品,但我只想按最深的树对它们进行分组nlevel。
假设我有一个如下表,名称为 categories
+---------------+---------------+---------------+
|id |name |tree |
+---------------+---------------+---------------+
|1 |"Music" |100 |
+---------------+---------------+---------------+
|2 |"Shania Twain" |100.1 |
+---------------+---------------+---------------+
|3 |"Artists" |200 |
+---------------+---------------+---------------+
|5 |"Country" |200.2 |
+---------------+---------------+---------------+
|6 |"Shania Twain" |200.2.4 |
+---------------+---------------+---------------+
例如,
SELECT MAX(cat.id),
cat.name,
MAX(cat.tree)
FROM
public.categories cat
WHERE
cat.name = "Shania Twain"
GROUP BY
name
HAVING
MAX(nlevel(cat.tree))
问题在于需要布尔表达式的HAVING 子句。子句MAX(nlevel(cat.tree)) 将返回一个整数。
我该怎么做?
提前致谢
马哈茂德
【问题讨论】:
标签: sql database postgresql group-by