[英]SQL statement to count with a condition
我是SQL的初學者,我需要幫助才能獲得這種情況的解決方案。
輸出每個景點在2013年期間訪問該景點的人數。
create table visitor(
visitID char(n),
name char(n) not null,
primary key (visitID)
);
create table ticket(
ticketID char(n),
ticketType char(n),
day int(n),
month char(n),
year int(n),
seasonID char(n),
visitID char(n),
primary key (ticketID), foreign key (seasonID) references seasonPerClass, foreign
key (visitID) references visitor
);
create table attractionVisit(
attractionID char(n),
ticketID char(n),
foreign key (attractionID) references attraction, foreign key (ticketID) references
ticket
);
create table attraction(
attractionID char(n),
attractionName char(n) not null,
primary key (attractionID)
);
我無法測試我的代碼,但到目前為止
SELECT AttractionName, count(distinct VisitID)
FROM (Visitation NATURAL JOIN AttractionVisit)
WHERE year = 2013;
我不知道這是否正確。 請幫忙。
您需要在查詢中進行group by
:
SELECT AttractionName, count(distinct VisitID)
FROM (Visitation NATURAL JOIN AttractionVisit)
GROUP BY AttractionName
WHERE year = 2013;
select att.attractionName, count(att.attractionId) as count
from visitor v inner join ticket t on ( v.visitID = t.visitID)
inner join attractionVisit av on (t.ticketID = av.ticketID)
inner join attraction att on (av.attractionID = att.attractionID)
where t.year = 2013
group by att.attractionName`
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.