AFAIK having is a feature that allows the user to apply to results of
group by.
The order of sql statement is as follows:
- from
- where
- group by
- having
- select clause
- order by
If I am correct my question to Taras is what do you mean when you want
to use having without group by?
Can't you just use where clause?
- Rami
On 22.10.2015 13:44, Taras Fedkiv wrote:
Thomas,
Please describe in which cases HAVING without GROUP BY is allowed.
Current documentation has no information about it.
Unfortunately you didn't mention Oracle, MySQL, MS that support this
feature and are the most popular rdbms. SQL 92 allows it, too.
Thank you,
Taras
On Wednesday, October 21, 2015 at 6:52:13 PM UTC+3, Thomas Mueller wrote:
Hi,
Your example works with H2 (unfortunately), but this one fails (it
throws an exception):
drop table table_test;
CREATE TABLE TABLE_TEST(account_id BIGINT, time BIGINT);
INSERT INTO TABLE_TEST (account_id,time) VALUES (10,2);
INSERT INTO TABLE_TEST (account_id,time) VALUES (10,3);
SELECT account_id, time FROM TABLE_TEST HAVING account_id=10;
It also fails with PostgreSQL, and SQLite, and Apache Derby, and
HSQLDB. So: nope, this will not be supported in H2.
Regards,
Thomas
On Wednesday, October 21, 2015, Taras Fedkiv <[email protected]
<javascript:>> wrote:
Hi,
H2(v1.4.190) throws error if HAVING is used without GROUP BY.
Ex:
CREATE MEMORY TABLE IF NOT EXISTS TABLE_TEST(account_id
BIGINT, time BIGINT) NOT PERSISTENT
INSERT INTO TABLE_TEST (account_id,time) VALUES (10,2)
SELECT account_id, time FROM TABLE_TEST HAVING account_id=10
//throws org.h2.jdbc.JdbcSQLException: Column """account_id"""
must be in the GROUP BY list;
Please add support of HAVING without GROUP BY. MySQL,
PostgreSQL support this feature.
Thank you,
Taras
The information in this message may be confidential. It is
intended solely for
the addressee(s). If you are not the intended recipient, any
disclosure,
copying or distribution of the message, or any action or
omission taken by you
in reliance on it, is prohibited and may be unlawful. Please
immediately
contact the sender if you have received this message in error.
--
You received this message because you are subscribed to the
Google Groups "H2 Database" group.
To unsubscribe from this group and stop receiving emails from
it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database
<http://groups.google.com/group/h2-database>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
The information in this message may be confidential. It is intended
solely for
the addressee(s). If you are not the intended recipient, any disclosure,
copying or distribution of the message, or any action or omission
taken by you
in reliance on it, is prohibited and may be unlawful. Please immediately
contact the sender if you have received this message in error.
--
You received this message because you are subscribed to the Google
Groups "H2 Database" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/d/optout.