SQL:要求查询出用户信息,根据用户发表的信息个数对用户进行排序
2013-01-17 23:43
316 查看
要求:
查询出用户信息,根据用户发表的信息个数对用户进行排序
根据信息表中信息个数对userId进行分组排序
使用子查询和刚才的排序的结果,查询出用户信息
最后的结果:
如果有更好的方法请不吝赐教!
查询出用户信息,根据用户发表的信息个数对用户进行排序
/*用户表*/ CREATE TABLE `tb_user` ( `userId` int(11) NOT NULL auto_increment COMMENT 'testtest', `userName` varchar(64) default NULL, `userNo` varchar(64) default NULL, PRIMARY KEY (`userId`) ); /*插入测试数据*/ insert into `tb_user`(`userId`,`userName`,`userNo`) values (1,'张三','NO001'),(2,'李四','NO002'),(3,'王五','NO003'); /*信息表*/ CREATE TABLE `tb_article` ( `article_id` int(11) NOT NULL auto_increment, `title` varchar(256) NOT NULL, `content` varchar(1024) default NULL, `userId` int(11) NOT NULL, PRIMARY KEY (`article_id`) ); /*插入测试数据*/ insert into `tb_article`(`article_id`,`title`,`content`,`userId`) values (1,'a','a',1),(2,'b','b',1),(3,'c','c',2),(4,'d','d',3),(5,'e','e',2),(6,'f','f',2);
根据信息表中信息个数对userId进行分组排序
SELECT userId FROM tb_article WHERE 1=1 GROUP BY userId ORDER BY COUNT(userId) DESC
使用子查询和刚才的排序的结果,查询出用户信息
SELECT t1.userId,(SELECT userName FROM tb_user t2 WHERE t2.userId=t1.userId) AS userName FROM tb_article AS t1 WHERE 1=1 GROUP BY t1.userId ORDER BY COUNT(t1.userId) DESC
最后的结果:
userId | userName |
2 | 李四 |
1 | 张三 |
3 | 王五 |
相关文章推荐
- ORACLE sql 根据in查询里面数据的顺序进行排序
- sql查询表中根据某列排序的任意行语句
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- mongodb 分页查询并 根据传入的经纬度计算计算两点距离进行排序
- mysql的sql语句根据经纬度查询距离排序
- SQL 数据库 学习 028 查询-11 having --- 对分组之后的信息进行过滤
- 根据对服务器进行的脆弱性报告(移动IDC的)要求禁用ICMP协议的时间戳请求查询来提高安全系数
- 根据ID集合查询符合某种类型的用户信息,并按其他类型分类
- 根据查询的关键字,实现获取百度指定页数的搜索结果的信息(网页地址,标题,摘要,并有排序的说明)
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个Student类型的对象数组,对学号进行 升序排序并输出。
- 根据参数指定的列名和值查询员工信息(使用动态sql语句)
- 根据用户经纬度,sql计算距离并排序
- Oracle查询一个用户的所有表的结构信息的SQL语句
- 容易遗忘的Comparable:一个结果集List,里面有很多的对象,要求根据对象的指定(age)字段进行排序
- oracle 根据某个字段分组,再根据另一个字段排序的sql查询 即 组内排序
- 查询所有SQL用户的连接信息(可显示IP)
- ORACLE查询当前连接的用户信息及操作的SQL语句
- 要求可以根据每个学生的成绩进行由高到低的排序如果成绩相等则按照年龄由低到高排序数据的样式如下张三:19:90|李四:20:90|王五:20:80|赵六:21:100
- 用户信息:奇偶数隔行变色,选中行变色,鼠标变小手样式;姓名查询条件,过滤敏感字符;下拉列表排序;非空验证添加信息;点击按钮删除
- 查询所有SQL用户的连接信息(可显示IP)