一个表 T
name lover
a l1
a l2
a l3
b l4
c l5
c l6 按lover个数的多少返回name ,上表应该返回 a c b 即:先统计各数,再排序返回。对应的SQL为:select f.name from
(select count(*) count,t.* from T t group by t.name) f order by f.count 但是我在hibernate下,不能生成这样格式的SQL(不可以有新的原表中不存在的列名,如上面的 count(*) count),所以无法使用。求如下格式的sql:select t.name from T t group by t.name order by count(t.lover)这个不对,应该怎么写?关键是不能产生新的列名出来
name lover
a l1
a l2
a l3
b l4
c l5
c l6 按lover个数的多少返回name ,上表应该返回 a c b 即:先统计各数,再排序返回。对应的SQL为:select f.name from
(select count(*) count,t.* from T t group by t.name) f order by f.count 但是我在hibernate下,不能生成这样格式的SQL(不可以有新的原表中不存在的列名,如上面的 count(*) count),所以无法使用。求如下格式的sql:select t.name from T t group by t.name order by count(t.lover)这个不对,应该怎么写?关键是不能产生新的列名出来
insert into T values('a','l2')
insert into T values('a','l3')
insert into T values('b','l4')
insert into T values('c','l5')
insert into T values('c','l6')select name
from T
group by name
order by count(*) descname
----
a
c
b (所影响的行数为 3 行)