论坛首页 综合技术论坛

发表说说数量最多的user

浏览 1714 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-07-31  

需求发表说说数量最多的user  三张表 t_user t_userinfo t_talk.见名知意

 

先建一张表test,做个测试 

 

 

mysql> select * from test;
+------+------+
| id   | num  |
+------+------+
|   14 |    1   |
|   14 |    3   |
|   14 |    4   |
|   10 |    5   |
+------+------+

 

明知会得到多个结果 

mysql> select num from test where id=(select max(id) from test)

    -> ;
+------+
| num  |
+------+
|    1 |
|    3 |
|    4 |
+------+

 加个limit,就得到一条结果

mysql> select num from test where id=(select max(id) from test) limit 1
    -> ;
+------+
| num  |
+------+
|    1 |
+------+

 得到t_talk里面发表说最多的人的uid

select  t2.publisher from 
	(select count(cont) contSize,publisher from t_talk group by publisher) t2 
 	where t2.contSize= 
 	(select max(t1.contSize) from (select count(cont) contSize from t_talk group by publisher) t1)
+-----------+
| publisher |
+-----------+
|         2 |
+-----------+
 到此为此,拿到publisher就可以用hibernate去拿Load了。但是t_talk里有t_user外键,如何用hql来描述上面这一段sql呢。我晕。

 

 

 

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics