【发布时间】:2012-01-11 09:10:23
【问题描述】:
我有以下疑问:
SELECT s.id,
s.name,
s.prom,
s.some_other_field,
... many more fields also
FROM mytable s
INNER JOIN (on some other tables etc.)
如果有超过6条具有相同name(s.name)的记录,我想将这些项目组合为一行(我不在乎还有哪些其他数据分组到该行,即该组的第一条记录就可以了)。
这在 Postgres 中可行吗?我想这是一个条件分组,从某种意义上说,我想将相同名称出现超过 6 次的记录分组,同时正常返回所有其他记录。
非常感谢任何帮助 - 谢谢!
【问题讨论】:
-
s.id 是相同的还是可能有所不同?
-
s.id 会有所不同,但对于分组行,理想情况下应该包含该组第一行的数据(如果有意义的话!)
-
SELECT [field names] FROM [table name] WHERE [conditions] (INNER/OUTER JOINS) .... GROUP BY [field name] HAVING [conditions]
标签: sql database postgresql