日期:2014-05-18  浏览次数:20547 次

求一数据库查询语句
先有2张表  
用户表Users:  用户id
文章表 Articles : 文章id   文章阅读量readNum

1, 根据 用户发表的文章数量 给用户排序 
比如 用户1 发表2篇文章
     用户2 发表3篇文章
     用户3发表1篇文章  
排序结果为(高到低)   用户2  用户1 用户3
这个查询方式 我已经写出:
//下面三行,一下3个句子都能得到正确结果, ht 为hibernateTemplate对象
//List<Users> list = ht.find("from Users u order by u.articles.size");
//List<Users> list = ht.find("from Users u order by size(u.articles)");
//List<Users> list = ht.find("select distinct u from Users as u inner join u.articles as art order by u.articles.size ");

先请教一查询语句 写法和上面的相似

2 高扭矩 用户发表的文章数量的总的阅读量给用户进行排序
例如:  用户1 发表 3 篇文章  每篇阅读量为10  总阅读量30
      用户2 发表  5篇文章  每篇阅读量为 7   总阅读量 35
       用户3 发表1 篇文章  阅读量为100  总阅读量100 
从高到低 排序应为    用户3 用户2 用户1  

请教 这一 hql 语句的写法
数据库??hql? 数据库?????hql 数据库 hql

------解决方案--------------------
order by 发表文章数 * 每篇阅读量 desc
------解决方案--------------------
你的表结构呢
------解决方案--------------------