Php 如何使用最高的用户id左键连接选择值
这个问题和我之前的问题有关 我所做的更改是添加了用户id列(自动递增),并希望选择每个日期具有最高用户id的值 我有表loadhistory(希望“仅选择每个日期具有最高用户id的值”group by和order by date DESC.) 因此,在本例中,我想为2015-02-27选择150个,因为它在该日期具有最高的用户id,为2015-02-28选择50个Php 如何使用最高的用户id左键连接选择值,php,mysql,join,Php,Mysql,Join,这个问题和我之前的问题有关 我所做的更改是添加了用户id列(自动递增),并希望选择每个日期具有最高用户id的值 我有表loadhistory(希望“仅选择每个日期具有最高用户id的值”group by和order by date DESC.) 因此,在本例中,我想为2015-02-27选择150个,因为它在该日期具有最高的用户id,为2015-02-28选择50个 | user_id | customer_id | date | bal | 1 1
| user_id | customer_id | date | bal |
1 1 2015-02-27 100
2 1 2015-02-27 150
3 1 2015-02-28 150
4 1 2015-02-28 50
和表transactionrecord(希望使用sum(bal)group by和order by date DESC汇总每个日期的值)
我想连接两个表,如下所示:
| date | balance | amount paid |
2015-02-28 50 10
2015-02-27 150 70
SELECT * FROM (SELECT * FROM `loadhistory` ORDER BY user_id DESC) history GROUP BY date
这是迄今为止的代码(我使用了我从上一个问题中获得的代码,并在新问题中对其进行了编辑,希望得到预期的结果,但没有)
请帮忙。提前感谢MySQL使用第一行bygroup by,因此您必须先订购,然后才能使用group by,如下所示:
| date | balance | amount paid |
2015-02-28 50 10
2015-02-27 150 70
SELECT * FROM (SELECT * FROM `loadhistory` ORDER BY user_id DESC) history GROUP BY date
因此,您可以使用以下查询作为解决方案:
SELECT h.date,h.bal as balance, t.amount as 'amount paid' FROM
(SELECT * FROM (SELECT * FROM `loadhistory` ORDER BY user_id DESC) history GROUP BY date) as h
JOIN
(SELECT SUM(bal) as amount, customer_id, date FROM `transactionrecord` GROUP BY date) as t
ON h.date = t.date AND h.customer_id = t.customer_id
ORDER BY date DESC