查询视频租赁数据库,我似乎无法弄清楚?

时间:2011-03-02 16:48:35

标签: mysql

我有一个查询,我已经工作了几个小时,似乎无法让它工作。 查询是生成已花费>的客户列表过去365天内€100。我正在创建一个视频租赁数据库..

这是我已经走了多远,但似乎无法将数据与date_rented数据表链接在一起。

SELECT CUST_ID, CUSTOMER_SPEND
FROM ACCOUNT_TEST
WHERE CUSTOMER_SPEND > 100;

我正在使用的表是cust_id,customer_spend,date_rented和account_test

1 个答案:

答案 0 :(得分:2)

不要试图回答(有点)提出的问题,也许有必要退后一步,看看(显然)期望的结果,并说明如何实现。目前,我只会从一个应该是数字的表中查看一个表。此表将包含个人客户租赁的详细信息:

customer_id
date_rented
cost

肯定需要更多字段,但这些字段似乎涵盖了我们对此查询的关注。从这里,我们想要一个至少花费100个(任何单位cost所在的)的客户列表,以及每个客户花费的金额。唯一有点棘手的部分是我们不能在sum(customer_paid)子句中使用where这样的聚合,所以我们将其放在having子句中。

select customer_id, sum(cost) as customer_paid
    from rental_details
    where to_days(now()) - to_days(date_rented) <= 365
    group by customer_id
    having customer_paid > 100

作为一个快速警告,可能需要对MySQL进行微调 - 我最近编写的大部分内容都是针对SQL Server的。