2011-07-31 236 views
-1

我有表以这种形式与更多的行:SQL查询帮助

res_id quiz_id  sender_id user_id  answer_id answer  points 
1 115   10  13  45  75  1 
2 115   10  13  46  79  1 
3 115   10  13  47  83  0 
4 118   1  3  51  90  0 
5 118   1  3  51  90  0 
6 115   10  13  45  75  1 

我希望得到的结果在PHP中这样说: 如果SENDER_ID = 10和quiz_id> 3(意味着,如果115是有3次或更多)查找点(如果点有三个相应的值为1)返回1 else 0

在上面的例子中,我应该返回1作为quiz_id 115超过3次使用,并且点至少有的1

3点对应的值对于下面表我应该得到0

res_id quiz_id  sender_id user_id  answer_id answer  points 
1 115   10  13  45  75  1 
2 115   10  13  46  79  1 
3 115   10  13  47  83  0 

任何人可以帮助我这个查询吗?

+0

什么你试过吗?你能发布你的代码吗? – Bytemain

+0

什么是你的数据库。特定的SQL需要分组/总和约束。取决于DB的类型,这个约束可以被不同地表达。 –

回答

0

尝试像

SELECT quiz_id , SUM(points) AS summe FROM mytable 
WHERE sender_id = 10 
GROUP BY quiz_id 
HAVING summe > 2 
+0

+1我有同样的想法,但SQL可能不是Gurnor使用DB有效。 –

+1

我使用它在MySQL和张贴以上的查询工作。 – Gurnor

+0

@Haim - 我有另外一个问题。可以这样的方式,此查询还会检查user_id是不是一样进行? – Gurnor