我的数据库运行在mysql服务器上。sql知识:初学者。
数据描述:我的数据库只有一个包含销售数据的表。查询的相关列包括:
年份(smallint)
客户(文本)
产品系列(文本)
总销售额(双精度)
现在我想用一个sql语句来显示一个表,其中列出了前几年从未购买过的第一次购买某个产品系列的客户。
因此,我们假设有一位客户在前几年购买了产品系列1、2、3,并在2018年首次购买了产品系列4。在2018年之前和2018年再次购买产品系列4的客户不应显示在结果表中。结果表应显示:
年度(本年)
顾客
产品系列(首次购买)
总销售额
到目前为止,这是我的简陋代码。完全撞上了岩石。
Select "Year", "Customer", "Product_Series", "Total_Sales_EUR"
From databasetable
Where
注意:表没有唯一键。希望不要让事情复杂化。如果我错过了任何重要的信息,请给我一个提示。
感谢任何帮助或小费。
1条答案
按热度按时间laik7k3q1#
您可以使用
is [not] in ( ... )
声明。类似于:select users who bought product 1,2,3,4 where user_id not in (select all users_id who did not buy product 4 in 2018)
编辑:您将需要一个id,因为在is in
语句只能比较值或者你也可以学习自己编写代码,而不是试图让别人免费为你工作!