簡體   English   中英

帶條件計數的SQL語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM