From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id CEF3122593 for ; Sat, 29 Dec 2018 09:59:29 -0500 (EST) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hX9ObQJqAEX1 for ; Sat, 29 Dec 2018 09:59:29 -0500 (EST) Received: from smtp54.i.mail.ru (smtp54.i.mail.ru [217.69.128.34]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 1F9EB22560 for ; Sat, 29 Dec 2018 09:59:28 -0500 (EST) Date: Sat, 29 Dec 2018 17:58:51 +0300 From: Kirill Yukhin Subject: [tarantool-patches] Re: [PATCH v2 1/1] sql: support HAVING without GROUP BY clause Message-ID: <20181229145851.3ushmcqrbwhz5kkr@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-subscribe: List-owner: List-post: List-archive: To: tarantool-patches@freelists.org Cc: v.shpilevoy@tarantool.org, Kirill Shcherbatov Hello, On 29 Nov 17:33, Kirill Shcherbatov wrote: > Branch: http://github.com/tarantool/tarantool/tree/kshsh/gh-2364-having-without-groupby > Issue: https://github.com/tarantool/tarantool/issues/2364 > > Allowed to make SELECT requests that have HAVING clause without > GROUP BY. It is possible when both - left and right parts of > request have aggregate function or constant value. > > Closes #2364. > > @TarantoolBot document > Title: HAVING without GROUP BY clause > A query with a having clause should also have a group by clause. > If you omit group by, all the rows not excluded by the where > clause return as a single group. > Because no grouping is performed between the where and having > clauses, they cannot act independently of each other. Having > acts like where because it affects the rows in a single group > rather than groups, except the having clause can still use > aggregates. > Having without group by is not supported for select from > multiple tables. > --- > src/box/sql/resolve.c | 97 +++++++++++++++++++++++--- > src/box/sql/sqliteInt.h | 3 +- > test/sql-tap/count.test.lua | 8 +-- > test/sql-tap/select3.test.lua | 2 +- > test/sql-tap/select5.test.lua | 128 +++++++++++++++++++++++++++++++++- > 5 files changed, 223 insertions(+), 15 deletions(-) I've checked your patch into 2.1 branch. -- Regards, Kirill Yukhin