SQL查询:查找在给定年份内购买了多本书的客户
这是数据库模式:SQL查询:查找在给定年份内购买了多本书的客户,sql,Sql,这是数据库模式: Books (bookid, title, author, year) Customers (customerid, name, email) Purchases (customerid, bookid, year) Reviews (customerid, bookid, rating) Pricing (bookid, format, price) 我如何找到在2003年购买了不止一本书的客户显示他们的姓名和电子邮件地址?与您的英语问题措辞非常相似。。。刚刚翻译成SQL
Books (bookid, title, author, year)
Customers (customerid, name, email)
Purchases (customerid, bookid, year)
Reviews (customerid, bookid, rating)
Pricing (bookid, format, price)
我如何找到在2003年购买了不止一本书的客户显示他们的姓名和电子邮件地址?与您的英语问题措辞非常相似。。。刚刚翻译成SQL
Select * From Customers C
Where (Select Count(*) From Purchases
Where customerid = C.customerid
And Year = 2003) > 1
还有一种选择:
select
cu.name
,cu.email
,count(*) as books_purchased
from
customers cu
,purchases pu
where cu.customerid = pu.customerid
and pu.year = 2003
group by
cu.name
,cu.email
having
count(*) > 1
你忘记了GROUPBY子句,但除此之外,这是迄今为止最好的答案删除了我自己的答案,因为我看错了问题,而你的答案是正确的+1给你,还有你的woorks+祝你好运。
select
cu.name
,cu.email
,count(*) as books_purchased
from
customers cu
,purchases pu
where cu.customerid = pu.customerid
and pu.year = 2003
group by
cu.name
,cu.email
having
count(*) > 1