gpt4 book ai didi

mysql - 如何列出表的所有行,并且当与另一个表连接时只能是它的第一行?

转载 作者:行者123 更新时间:2023-11-29 16:24:24 25 4
gpt4 key购买 nike

我正在设置一个“订单管理”应用程序,它应该提供一个列出我所有目录项的数据列表,并为每个项目显示“最后订单日期”。我还希望未订购的商品能够在没有最后订购日期的情况下反射(reflect)出来。

我尝试过此查询但没有成功

SELECT i.id, i.name, d.name 
FROM items i
JOIN LEFT orders o
ON i.id = o.items

我的 MySQL 数据库中有这些表:

项目

ID|Name 
-----------
0 |Table
1 |Chair
2 |Screen
3 |Speaker
4 |Keyboard
5 |Laptop
6 |Mug

订单

ID|ITEMS|DATE
-----------------
0 | 0 |20190122
1 | 0 |20181231
2 | 1 |20180601
3 | 3 |20180122
4 | 2 |20171231
5 | 4 |20180501
4 | 6 |20171115
5 | 3 |20180101

并且想要以下输出:

LAST_ORDER_DATE

ID|NAME    |DATE
--------------------
0 |Table |20190122
1 |Chair |20180601
2 |Screen |20171231
3 |Speaker |20180122
4 |Keyboard|20180501
5 |Laptop |
6 |Mug |20171115

感谢您的帮助

最佳答案

似乎您需要最大日期,因此您可以使用 max( ) 函数和分组

select  i.id, i.name, max(o.date)
FROM items i
LEFT JOIN orders o ON i.id = o.items
group by i.id, i.name

关于mysql - 如何列出表的所有行,并且当与另一个表连接时只能是它的第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54326092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com