gpt4 book ai didi

php - MySQL Left Join - 多次给出相同的结果

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:52 27 4
gpt4 key购买 nike

我是编码新手,遇到了一个 SQL 问题,希望您能提供帮助。我正在使用 PHP 和 MySQL。

问题是我将表连接在一起,但我得到的结果比一个多。我只需要具有最新付款创建日期的广告。

我想展示一个表中的一些广告,并与上次付款时定义的另一个表连接。

Ad's table:
Id | Title

Payment table:
Id | ad_id | amount | created

我可以在每个广告的付款表中有多个记录,当我离开加入时,我得到每个广告的时间与我在付款表中的记录相同。

我试过这个:1.

SELECT ads.title, payments.created 
FROM ads
LEFT JOIN ( Select ads_id, created from payments ORDER BY id asc limit 1) as payments on payments.ads_id = ads.id

-- 给我正确数量的广告,但只为第一个创建

SELECT ads.*, payments.created
FROM ads
LEFT JOIN payments ON payments.ads_id=ads.id

-- 为每条付款记录给我一个广告

最佳答案

您需要group by 对广告的所有付款进行分组,并使用max() 获取该广告的最新付款:

SELECT ads.*, max(payments.created)
FROM ads
LEFT JOIN payments ON payments.ads_id=ads.id group by payments.ads_id

关于php - MySQL Left Join - 多次给出相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55254218/

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