Access sql结合了SELECT和COUNT函数

时间:2014-10-13 12:52:35

标签: sql ms-access

ALL。我的表看起来像

NAME1 NAME2  Result
Jone  Jim     win
Kate  Lucy    loss
Jone  Lucy    win
Jim   Jone    loss

我想从NAME1中选择win case> = 3,我的代码是

SELECT NAME1,Count(Result='win') as WIN_CASE
From TABLE
Group by NAME1
Having Count(Result='win')>=3;

但是,输出的结果不正确,它只返回NAME1中显示的名字总数,我该怎么做才能解决它?

更新:感谢您的回复。 Kritner和jbarker的结果很好。我忘记添加"其中" Clause。

3 个答案:

答案 0 :(得分:1)

查询:

SELECT NAME1, COUNT(Result) AS WIN_CASE
FROM A
WHERE Result='win'
GROUP BY NAME1
HAVING COUNT(Result)>=3

答案 1 :(得分:1)

试试这个

select * 
from (select NAME1, Result, count(*) as res from test group by Result, NAME1) as t 
where t.res>=3 and t.Result ='win'

答案 2 :(得分:0)

你可以这样做:

http://sqlfiddle.com/#!6/02c47/1

select name1
from test
where result = 'win'
group by name1
having count(1) >= 3

请注意,这并未考虑到" Jone"当名字2被遗忘并且有损失时至少获胜(至少那是我如何解释你的谢玛。

因此,如果name1已经获胜,而且赢了,那么jone就赢了。但是,如果jone是name2并且它是一个损失,那么jone赢得了正确吗?