一个SQL语句获得某人参与的帖子及在该帖得分总和

select a.*,b.SumPoint from Expert_Topic_Index a,(
select TopicID, Sum(Point) as SumPoint from expert_reply_index
where PostUserName = 'ghj1976'
Group by TopicID
Having Sum(Point) > 0
) as b
where a.TopicID = b.TopicID

这里其实就是把一个查询的结果放到新的一个查询中了。

另外 Having 对分组结果进行的查询。

(0)

相关推荐

  • 一个SQL语句获得某人参与的帖子及在该帖得分总和

    select a.*,b.SumPoint from Expert_Topic_Index a,( select TopicID, Sum(Point) as SumPoint from expert_reply_index where PostUserName = 'ghj1976' Group by TopicID Having Sum(Point) > 0 ) as b where a.TopicID = b.TopicID 这里其实就是把一个查询的结果放到新的一个查询中了. 另外 Hav

  • 只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名

    昨天去面试时遇到一个这样的问题: 有一张成绩表,只有两个字段,姓名和成绩.怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名? 一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句:一种是通过group by来实现. 回答得连自己都觉得有点心虚.请问大家如何实现呢? 假设:表名字为Course,两个字段分别为name和score 实现语句: SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成

  • 送给搞采集的兄弟一个sql语句

    刚刚采集了一个下午,突然发现发现在title字段里多采集了一些字符进来,并且这些字符都一样的.采集的时候多采集了一个<img src="images/hot.gif">,虽说这几个字符不占多少空间,也不是非常不爽.但是生长首页的时候出了大问题,显示不了.我那就郁闷咯.于是就想办法解决.首先,我尝试通过直接进入dedecms一条条修改记录,但是我的天啊,3000多数据,这样一条条改下来,我还不如自己去人肉更新呢.实在太痛苦了.实在不行,我就干脆从最根源入手,直接修改数据库.于

  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

    进入sqlplus SQL> set timing on SQL> SQL> select count(*) from comm_human_role; COUNT(*) ---------- 866 Elapsed: 00:00:00.05 以上数字输出分别是:Hours:Minutes:Seconds.Milliseconds 即用了0.05秒的时间执行,相当于50毫秒. 时间如果是这样的表示:00: 03: 235.78 总共用的时间为235.78秒, 不到4分钟,所以显示的是3分

  • 将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句

    复制代码 代码如下: create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') go create function [dbo].[f_str](@id i

  • 常用SQL语句优化技巧总结【经典】

    本文实例总结了常用SQL语句优化技巧.分享给大家供大家参考,具体如下: 除了建立索引之外,保持良好的SQL语句编写习惯将会降低SQL性能问题发生. ①通过变量的方式来设置参数 好: stringsql = "select * from people p where p.id = ? "; 坏: stringsql = "select * from people p where p.id = "+id; 数据库的SQL文解析和执行计划会保存在缓存中,但是SQL文只要有

  • SQL SERVER 中构建执行动态SQL语句的方法

    1 :普通SQL语句可以用exec执行 Select * from tableName exec('select * from tableName') exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N 2:字段名,表名,数据库名之类作为变量时,必须用动态SQL declare @fname varchar(20) set @fname = 'FiledName' --Select @fname from tableName

  • oracle使用sql语句增加字段示例(sql删除字段语句)

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],-.); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],-.); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 使用alter

  • ASP中经常使用的SQL语句与教程说明

    1,SELECT 语句  在SQL的世界里,最最基础的操作就是SELECT 语句了.在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作: 复制代码 代码如下: SELECT what FROM whichTable WHERE criteria 执行以上语句就会创建一个存放其结果的查询.  而在ASP页面文件上,你也可以采用以上的一般语法,不过情况稍微不同,ASP编程的时候,ELECT 语句的内容要作为字符串赋给一个变量: 复制代码 代码如下: SQL = "SELECT what FR

  • 教你如何在MySQL命令行中使用SQL语句的规则

    规则1: SQL语句必须以分号(;)或者(\G)结束 分号(;)是SQL语句的结束标志.如果遗忘了分号,而直接按下回车键时,在MySQL客户端上将显示如下 mySQL> SELECT * FROM customer -> 因为没有以分号结束,客户端认为SQL语句并没有结束,显示[->]等待用户继续输入命令,直到以分号结束.有些数据库中,支持省略最后的分号的情况. 规则2: 保留关键字不区分大小写 保留关键字是SQL中事先定义好的关键字,如上面检索语句中的SELECT.FROM等就属于保留

随机推荐