我正在尝试在单个截止日期之前汇总付款历史记录,并创建一个类似于下方显示的html表格。
+--------------+---------------+----------------+
| Date Due | Amount Paid | Date Paid |
+--------------+---------------+----------------+
| Nov, 1 2012 | $10 | Oct, 21 2012 |
| | $15 | Oct, 18 2012 |
| Oct, 14 2012 | $20 | Oct, 13 2012 |
| | $20 | Sep, 3 2012 |
+--------------+---------------+----------------+
我面临的问题是:
到期日,付款金额和付款日期数据字段都在同一个表格行中。到期日不一定与实际付款时间相对应(可能是延迟付款3周)。或者......也许在一个付款日期到期的时间范围内收到了两笔付款。
如何有效地解决此类问题并将其显示在表格中?我已经尝试了几种方法,而且代码过于密集系统。
编辑:数据库表格中的行目前看起来像这样:
+--------------+---------------+----------------+
| Date Due | Amount Paid | Date Paid |
+--------------+---------------+----------------+
| Nov, 29 2012 | $10 | Oct, 21 2012 |
| Nov, 15 2012 | $15 | Oct, 18 2012 |
| Nov, 1 2012 | $20 | Oct, 13 2012 |
| Oct, 14 2012 | $20 | Sep, 3 2012 |
+--------------+---------------+----------------+
但客户必须在每个截止日期支付50美元。在这种情况下,由于数据在表格中的格式化方式,客户将其付款分开并且不适用于当前到期日。
不幸的是,我无法更改数据库中的任何内容。
答案 0 :(得分:1)
查询将是
select * from table_name order by Date_Due ASC,Date_Paid ASC , Amount_Paid ASC
此查询首先按Date_Due
按升序排序,然后按Date_Paid
和Amount_Paid
排序。
答案 1 :(得分:0)
假设您的查询位于单个平面表上,听起来您只想让每个截止日期只显示一次(而不是每行)。
如果这是正确的,我认为你应该只是在构建你的表的PHP代码中解决问题,而不是试图在你的mysql结果中实现这个。