日期:2014-05-20  浏览次数:20741 次

SQL SQL SQL 拜托高手们了

  以下是我写的SQL语句 我想先把state=1 过滤掉 然后在根据C.id分组 最后统计个数
  select count(*) from ( SELECT row_number() over(order by C.id)id FROM capture AS C INNER JOIN matchlog AS M ON M.captureid=C.id INNER JOIN dvs AS D ON D.id=C.dvsId INNER JOIN bimage AS B ON C.bimageid=B.id WHERE M.state={0} group by C.id )temp

------解决方案--------------------
try
根据你的列名改改

select id,count(id) from 
(SELECT row_number() over(order by C.id) id,* FROM capture AS C INNER JOIN matchlog AS M ON M.captureid=C.id INNER JOIN dvs AS D ON D.id=C.dvsId INNER JOIN bimage AS B ON C.bimageid=B.id)temp
WHERE M.state<>1 group by id 

------解决方案--------------------
技术贴要发在技术区。。
------解决方案--------------------
童鞋,这个帖子发在技术区会有很多高手来解决的说~~
------解决方案--------------------
1.测试数据和结果
http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html?seed=206485877&r=61545678#r_61545678
类似这种SQL语句求结果的 可以帮别人写好测试数据和你要的结果有些问问题的网友 按自己理解的意思说了一堆 把下面的人说闷了 愣是反应不过来
其实你只要给出一些数据和结果 往往答案就出来了

2.题目要点
a.说清楚你的环境
有的朋友给出题目后,等下面的人做了好久忽然跟别人说 我的不是SQL2005是2000 更加有不好意思,我不是mssql...这样会浪费大家很多时间的
b.题目的附加要求
一定要把题目的一些关键点 说清楚 这里有2点:
一个是你的测试数据一定要尽量包含多点情况,别写个特殊情况产生误解;
还有一个是一些题目数据得出的关键想要的步骤说清楚,毕竟有些复杂的逻辑别人是不知道的,你可以用现有数据写出一条 的得出过程;

3.切忌不要篇幅过长,尽量言简意赅.
 太长的东西 大家看的晕

4.建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
------解决方案--------------------
探讨
引用:
技术贴要发在技术区。。


...... 我发在技术区了 解决不了 我就来这里了