我有一个客户表和一个订单表。每个客户可以有许多订单。
我想从订单表中选择每个客户以及他们最早的订单号(重要的是我选择最早的订单号,而不仅仅是任何订单)。我想列出是否有订单的客户,如果他们有多个订单,我不想将客户包括两次。
我正在使用这个:
SELECT *
FROM customers
LEFT JOIN orders
ON customers.id = orders.customer_id
GROUP BY customers.id
这几乎给了我我想要的东西,除了它会从表中选择它喜欢的任何订单 ID。我需要能够排序,并选择最小的订单 ID。
请问有什么想法吗?
我很确定它在盯着我的脸...
编辑:根据要求的表格结构
顾客:
| ID | Name | Address | Etc | ---------------------------------------- | 1 | Joe | 123 Fake Street | | | 2 | Mike | 1600 Fake Road | | | 3 | Bill | Red Square, Moscow | | ----------------------------------------
订单:
| ID | Customer_ID | Date | --------------------------- | 1 | 1 | ... | | 2 | 2 | ... | | 3 | 2 | ... | | 4 | 1 | ... | ---------------------------