坚持写sql查询

时间:2012-05-22 08:41:35

标签: sql hibernate postgresql

我有一张表,其中termid,termversion是两个主键。 表中的列 - termid,termversion,name

我想选择名称为ilike '%AB%'的所有字词,结果应包含每个匹配字词的最大版本号。

示例:

id    name   ver
1     ABBBB  1
1  ABBBB  2
1  ABBBB 3
2  ABC   1
2  ABC   2

输出应该来

1 ABBBB 3
2 ABC   2

我想用hibernate编写这个查询 标准......如果任何人可以在hibernate中建议我那么它真的很好,至少帮助我编写sql查询。 PS我正在使用postgresql

3 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西:

SELECT id, name, MAX(ver)
  FROM table
 WHERE name ILIKE '%AB%'
 GROUP BY name, id        -- I assume: id == id' <==> name == name'
是吗?

答案 1 :(得分:0)

从mytable中选择id,name,max(ver),其中名称如'%AB%'按ID分类,名称

答案 2 :(得分:0)

你可以尝试这个sql命令。

从table_name group by id中选择id,name,max(ver),名称的名称如'%AB%'