我有一个用户表和另一个订单表。一个用户可以有很多订单。如何获得最近的1000个用户,这些用户如何使用我最近的1000个订单?
查询-获取用户
select distinct users.id, users.first_name, users.last_name
from users
limit 2;
查询-获取订单
select distinct orders.id, orders.user_id
from orders
limit 2;
答案 0 :(得分:1)
首先,您需要知道。当涉及到查询数据时,请不要单独进行操作。.如果将所有Users
和Orders
都放入,则您的数据将是unordered
并且不一致性。.因此,您需要使Join
才能看到它们具有User
的所有Order
。并且如@Sharon所述,您需要添加列date_ordered
来查看该order
所做的。。我假设您已经拥有该列,但是我将使用date_ordered
来调用该列。
您的查询将是:
select
users.id,
users.first_name,
users.last_name,
orders.id
from
users
inner join orders on users.id = orders.user_id
order by
orders.date_ordered desc
limit 1000
通过订单date_ordered
使用desc
,您将获得所有用户的最新订单。而且我假设表user_id
中的orders
列具有约束{{1 }}使用列foreign key
对表users
的引用。.