Title: [BUG] JSQLParser 5.4-SNAPSHOT : PostgreSQL : GROUPS not supported in window function frame clause · Issue #2431 · JSQLParser/JSqlParser · GitHub
Open Graph Title: [BUG] JSQLParser 5.4-SNAPSHOT : PostgreSQL : GROUPS not supported in window function frame clause · Issue #2431 · JSQLParser/JSqlParser
X Title: [BUG] JSQLParser 5.4-SNAPSHOT : PostgreSQL : GROUPS not supported in window function frame clause · Issue #2431 · JSQLParser/JSqlParser
Description: Failing SQL Feature PostgreSQL GROUPS frame mode used inside a window function's frame specification. PostgreSQL supports three frame_mode options on window function frames: RANGE, ROWS, and GROUPS. The GROUPS mode (added in PostgreSQL 1...
Open Graph Description: Failing SQL Feature PostgreSQL GROUPS frame mode used inside a window function's frame specification. PostgreSQL supports three frame_mode options on window function frames: RANGE, ROWS, and GROUPS...
X Description: Failing SQL Feature PostgreSQL GROUPS frame mode used inside a window function's frame specification. PostgreSQL supports three frame_mode options on window function frames: RANGE, ROWS, and GR...
Opengraph URL: https://github.com/JSQLParser/JSqlParser/issues/2431
X: @github
Domain: Github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[BUG] JSQLParser 5.4-SNAPSHOT : PostgreSQL : GROUPS not supported in window function frame clause","articleBody":" **Failing SQL Feature**\n\n PostgreSQL `GROUPS` frame mode used inside a window function's frame specification.\n\n PostgreSQL supports three `frame_mode` options on window function frames: `RANGE`, `ROWS`, and `GROUPS`. The `GROUPS` mode (added in PostgreSQL 11) defines the frame in terms of *peer groups* — sets of rows that are equivalent according to\n the window's `ORDER BY` clause — rather than individual rows or value ranges. It is valid SQL-standard syntax in PostgreSQL and appears in analytical queries that need to aggregate over a fixed number of distinct ordered groups.\n\n See the PostgreSQL docs for details: https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS\n\n **SQL Example**\n\n ```sql\n CREATE TABLE events (\n id SERIAL PRIMARY KEY,\n user_id INT,\n ts INT,\n value INT\n );\n\n INSERT INTO events (user_id, ts, value) VALUES\n (1, 1, 10),\n (1, 1, 20),\n (1, 2, 30),\n (1, 3, 40),\n (1, 3, 50),\n (1, 4, 60);\n\n SELECT\n id,\n ts,\n value,\n SUM(value) OVER (\n ORDER BY ts\n GROUPS BETWEEN 1 PRECEDING AND CURRENT ROW\n ) AS sum_last_2_groups\n FROM events\n ORDER BY ts, id;\n ```\n \n **Parsing error**\n\n `ParseException: Encountered: \u003cS_IDENTIFIER\u003e / \"GROUPS\", at line 7, column 9, in lexical state DEFAULT.`\n","author":{"url":"https://github.com/tomershay","@type":"Person","name":"tomershay"},"datePublished":"2026-05-12T17:30:09.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/2431/JSqlParser/issues/2431"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:db5e2f88-f172-efee-19ca-e1dc5a78f0f7 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8C0A:2E05FC:4D236E:683C7A:6A629BFE |
| html-safe-nonce | 0af8ddb865f6cbf13b2cbd66e6c50c3553bf6d038a2345d84422a1353089cc40 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4QzBBOjJFMDVGQzo0RDIzNkU6NjgzQzdBOjZBNjI5QkZFIiwidmlzaXRvcl9pZCI6IjU1NDMzOTMyNTg1NTM2NDYwNzgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 6a0cf8bce1b63ae3f87d2fc4f5db918b43e3748b95b90082d4ad176926286f1f |
| hovercard-subject-tag | issue:4431271343 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/JSQLParser/JSqlParser/2431/issue_layout |
| twitter:image | https://opengraph.githubassets.com/3562ebd33673196d5c6096b98e9f54096a9de5bafc9a9df0681084565a03495d/JSQLParser/JSqlParser/issues/2431 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3562ebd33673196d5c6096b98e9f54096a9de5bafc9a9df0681084565a03495d/JSQLParser/JSqlParser/issues/2431 |
| og:image:alt | Failing SQL Feature PostgreSQL GROUPS frame mode used inside a window function's frame specification. PostgreSQL supports three frame_mode options on window function frames: RANGE, ROWS, and GROUPS... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tomershay |
| hostname | github.com |
| expected-hostname | github.com |
| None | a6443033349a18134b517627f043d4a59a5110337b879810c7229c2c7e28eda0 |
| turbo-cache-control | no-preview |
| go-import | github.com/JSQLParser/JSqlParser git https://github.com/JSQLParser/JSqlParser.git |
| octolytics-dimension-user_id | 4643847 |
| octolytics-dimension-user_login | JSQLParser |
| octolytics-dimension-repository_id | 1944709 |
| octolytics-dimension-repository_nwo | JSQLParser/JSqlParser |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1944709 |
| octolytics-dimension-repository_network_root_nwo | JSQLParser/JSqlParser |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d6c6cacbe32d3ddfd1796fbd1a39b8fb47b87daf |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width