【问题标题】:Pulling last 10 orders from mysql table从 mysql 表中提取最后 10 个订单
【发布时间】:2014-04-28 01:48:21
【问题描述】:

我是 mysql 新手,我想知道是否有一种方法可以从最近 5 个最近的订单中提取信息。

我正在尝试提取最近 5 个订单的 orderNumber、productName 和 firstname。

我创建了 2 个正在使用的虚拟表:

表: 订单

字段: 订单号 客户标识 订单信息Oid 购买日期时间

表: 客户数据

字段: 客户标识 名 中间初始 姓氏

表: 产品

字段: 产品编号 产品名称 公司名称

我在考虑 INNER JOIN 但如何确定最近的订单?

【问题讨论】:

  • 使用ORDER BY 例如。 ORDER BY purchaseDateTimeWHERE 子句之后
  • mysql select from n last rows 的可能重复项
  • SELECT * FROM orders ORDER BY purchaseDateTime LIMIT 5;
  • 您似乎缺少一个 orderDetail 表,其中包含订单中的每个产品。然后您还将订单链接到 orderDetail
  • 呃,那是 5 还是 10 ? !?!?!

标签: mysql sql


【解决方案1】:

我想你的订单表中有一个productOid 列,那么你可以使用这个查询:

SELECT o.orderNumber, p.productName, c.firstname
FROM
  (SELECT orderNumber, customerOid, productOid
   FROM orders
   ORDER BY purchaseDateTime DESC
   LIMIT 5) o
  INNER JOIN customers c ON o.customerOid = c.customerOid
  INNER JOIN products p ON o.productOid = p.productOid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    相关资源
    最近更新 更多