`

Hql技巧积累之一:同时使用distinct和order by的问题

    博客分类:
  • SSH
阅读更多
所用数据库:ms server2000
所用hibernate版本: hibernate3.2


sql:
--查询签约年份,不重复,年份降序显示
select distinct year(a.signDate) as signYear 
from my_table a
order by signYear desc

以上sql在查询分析器里是没有问题的。
转换成hql如下:
hql:
select distinct year(a.signDate) as signYear 
from MyTable a
order by signYear desc

以上hql在服务启动编译时通过, 单执行查询时抛出异常:列名“signYear”无效。

修改成如下hql才行:
select distinct year(a.signDate) as signYear 
from MyTable a
order by year(a.signDate) desc

以上hql对应的sql也正确。
1
2
分享到:
评论

相关推荐

    hql语句查询

    ### HQL语句查询知识点详解 #### 一、HQL简介 HQL(Hibernate Query Language)是Hibernate框架中...以上就是关于HQL语句查询的一些基础知识点,掌握了这些基本用法后,就可以更加灵活地使用HQL来处理各种查询需求了。

    HQL 语法总结 实体查询

    同时,也可以使用 `GROUP BY` 和 `HAVING` 子句进行聚合查询: ```java hql = "select count(user), user.age from TUser user group by user.age having count(user) > 10"; ``` #### 六、参数绑定 在HQL查询中...

    NHibernate hql 可用函数,函数大全

    - **语法**: `SELECT DISTINCT <字段> FROM <类名> [ORDER BY <字段>]` - **示例**: `SELECT DISTINCT c FROM Category c ORDER BY c.name DESC` **5. 条件范围查询** - **语法**: `FROM <类名> WHERE <字段> ...

    超级详细的hql查询语句教程

    通过以上介绍可以看出,HQL提供了一种强大且灵活的方式来处理面向对象的数据库查询需求,同时保持了与SQL的兼容性和熟悉度。对于Java开发人员来说,掌握HQL是非常有益的,因为它能够帮助他们在处理复杂的数据库操作...

    Hibernate HQL教程

    - **解释**: 使用`ORDER BY`子句对结果进行升序或降序排列。 ##### 1.1.17 GROUP BY对记录进行分组 - **语法**: ```hql SELECT s.sdept, COUNT(*) FROM Student s GROUP BY s.sdept; ``` - **解释**: `GROUP BY`...

    hibernate 中HQL语句查询学习笔记

    ##### orderby 对结果进行排序 用于对查询结果进行排序: ```hql SELECT s FROM Student s ORDER BY s.sage ASC; ``` 这里将按年龄升序排列学生。 ##### group by 对记录进行分组 对于聚集查询非常有用: ```...

    hql查询语句

    可以使用`setFirstResult`和`setMaxResults`方法实现分页,`order by`子句进行排序,如`from Person order by age desc`。 总之,HQL提供了丰富的查询语法,使得开发者能够在保持对象模型的抽象性的同时,方便地对...

    HQL经典查询语句[文].pdf

    HQL是Hibernate提供的面向对象的查询语言,它允许开发者以类和属性的方式来查询数据库,而不是直接使用SQL。本文将深入探讨HQL的经典查询语句,帮助开发者更好地理解和运用这一强大的查询工具。 首先,HQL支持过滤...

    2021数仓面试题汇总.pdf

    1. SQL语句执行顺序:SQL语句的执行顺序包括FROM、WHERE、GROUP BY、HAVING、SELECT、DISTINCT、ORDER BY、LIMIT等阶段。 2. Hive grouping sets、cube、rollup:Hive中的grouping sets、cube和rollup是用于数据聚合...

    HIBERNARE ppt

    HQL,全称为Hibernate Query Language,是Hibernate框架提供的一种面向对象的查询语言,它允许开发者以类和属性的名字来编写查询,而不是直接使用数据库的SQL语句。HQL与Java类和属性名称的大小写不敏感,但类名和...

    Hortonworks.CheatSheet.SQLtoHive.pdf

    Apache Hive是一个建立在Apache Hadoop之上的数据仓库基础设施,它提供了数据汇总、即席查询和大数据集分析的功能。Hive允许用户通过SQL-like语言HiveQL(HQL)查询存储在Hadoop分布式文件系统(HDFS)中的数据。这...

    hive学习笔记

    例如,HQL支持INSERT INTO(完整插入)和INSERT OVERWRITE(覆盖写入)操作,以及JOIN、GROUP BY、ORDER BY和窗口函数。 3. **表和分区**:在Hive中,数据被组织成表,可以进一步细分为分区。分区有助于提高查询...

    hibernate查询集合.pdf

    此外,HQL还支持更复杂的查询,如`where`子句用于添加条件,`join`用于处理关联关系,`group by`和`having`用于分组和过滤,以及`order by`用于排序。HQL的灵活性使得开发者能够以面向对象的方式处理复杂的数据库...

    安博Hibernate最全培训资料内部版

    - **ORDER BY**:支持结果的升序或降序排列。 - **GROUP BY**和**HAVING**:支持对查询结果进行分组,并对分组后的结果进行进一步的筛选。 ### 三、Query接口使用详解 #### 3.1 创建Query对象 - **创建方法**:...

    Hive用户指南(Hive_user_guide)_中文版

    Hive是构建在Hadoop之上的一个工具层,旨在为Hadoop提供一种更加方便的SQL-like查询语言(HQL)。Hive利用Hadoop的HDFS进行数据存储,并通过MapReduce框架进行数据处理。Hive的主要功能在于提供了一个友好的数据处理...

    Hibrenate 学习摘记

    order by p.ID ``` 在这个例子中,我们定义了一个名为 `sqlQuery` 的命名查询,用于根据角色 ID 列表获取相关联的用户配置信息。通过这种方式,可以更灵活地组织 SQL 逻辑,同时保持代码的清晰度。 #### 总结 ...

Global site tag (gtag.js) - Google Analytics