我想进行一个查询,该查询将显示今天之前发生的所有订单。我已经通过这个查询实现了它
SELECT tblOrder.date, tblOrder.name
FROM tblOrder
WHERE (((tblOrder.date)<=Date()))
GROUP BY tblOrder.date, tblOrder.name
输出将是:
-------------------
- Date -Name -
-------------------
-02.06.16-Company1-
-23.06.16-Company2-
-24.06.16-Company1-
-------------------
我的问题是如何进行查询,该查询仅显示 Company1 一次(按某种方式分组)和最后日期,这样我就不会两次看到同一家公司。
我想要的输出:
-------------------
- Date -Name -
-------------------
-23.06.16-Company2-
-24.06.16-Company1-
-------------------
我试图仅按名称进行分组,但我发现这是不可能的。
最佳答案
GROUP BY name
并询问每个组内的Max(date)
。
SELECT o.name, Max(o.date) AS latest_order_date
FROM tblOrder AS o
WHERE o.date <= Date()
GROUP BY o.name;
关于sql - 如何只获取最新日期的查询结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38078122/