昨天无意识看到同桌的同事在练习sql,其中看到他在写一道题的sql,
求出发帖最多的人?
开始我写的是这句:
select t.authorid,max(total) from (select authorid,count(*) total from articles
group by authorid ) t group by t.authorid 结果去执行,完了,错的! 写了两句相当于
写了一句,都是一样的结果。
正确的写法如下:
select teaid,count(*) total from articles group by teaid having count(*) =
(select max(total2) from (select count(*) total2 from articles group by teaid) t);
记得不能写成如下这样哦:
select teaid,count(*) total from articles group by teaid
having total = //total 一定要写成 count(*)
(select max(total2) from (select count(*) total2 from articles group by teaid) t);
下面这样写直接报错
select teaid,count(*) total from articles group by teaid having
count(*)=max(total)
也不应该写成:
select teaid,count(*) total from articles group by teaid
having total = //total 一定要写成 count(*)
(select max(total2) from (select count(*) total2 from articles group by teaid)
as t);//子查询不能加as as只能用作表的别名
下面的写法也会报错
select teaid , count(*) c from articles group by teaid
having count(*) = select max(t.total) from (select teaid,count(*) total from articles group by teaid) t
应该写成下面这样
select teaid , count(*) c from articles group by teaid
having count(*) = (select max(t.total) from (select teaid,count(*) total from
articles group by teaid) t)//应该加上括号
分享到:
相关推荐
- **准备建议**:熟练掌握SQL语言,了解关系型数据库的工作原理。 #### 4. 分布式系统与微服务架构 - **重要性**:随着云计算的发展,这方面的知识变得越来越重要。 - **准备建议**:学习Spring Cloud等微服务框架...
标题中的“精简版BBS自我练习体会”指的是一个简化版的在线论坛系统,可能是为了教学或个人学习目的设计的。这种系统通常包含了基础的发帖、回帖、用户注册和登录等功能,以便用户们可以进行互动交流。在这个过程中...
【Java留言板大作业.zip】是一个包含Java编程语言实现的留言板系统的...这个大作业不仅锻炼了开发者在Java Web开发中的实际技能,还涵盖了数据库操作、MVC设计模式应用、前后端交互等多个方面,是一次全面的实践练习。
ASP(Active Server Pages)是一种由微软开发的服务器端脚本环境...通过深入研究这个ASP网站实例,不仅可以提升ASP编程技能,还能学习到移动Web开发的相关知识,对于想要从事Web开发的人来说,这是一个宝贵的实战练习。
讨论区表可能包含帖子ID、发帖人、帖子内容、回复等。 6. **安全与权限控制**:项目可能使用Spring Security或自定义的安全机制来实现用户认证和授权,确保只有合法用户才能访问特定资源。例如,只有登录用户才能...
16. **JSP+SQLServer论坛**:用户交流讨论的平台,支持发帖、回帖、用户管理等。 17. **小区物业管理系统**:包括业主信息管理、物业费用收取、投诉处理等功能。 18. **人事基本信息管理系统**:用于人力资源部门...