提取每天的最高值

时间:2011-07-17 06:09:13

标签: php mysql

我有一个数据库表,其中包含事务transactionIDs和datetime字段。 正如您所猜测的那样,日期时间字段和事务ID不断增加,并且余额字段要么增加/保持不变/要么减少。

我想在每天结束时提取最高的transactionID及其相应的余额。

提前感谢您的时间和帮助。

样本表格式:

transactionID | date(datetime)| amount | balance |

3 个答案:

答案 0 :(得分:1)

SELECT 
  t1.`date`,
  t1.transactionID,
  t2.balance
FROM
  (
    SELECT
      `date`,
      MAX(transactionID) AS `transactionID`
    FROM
      table
    GROUP BY
      DATE(`date`)
  ) t1
INNER JOIN
  table t2
ON
  t2.transactionID = t1.transactionID
ORDER BY
  t1.`date`

答案 1 :(得分:-1)

试试这个:

SELECT balance FROM table WHERE table.created > TODAY() ORDER BY transactionID DESC LIMIT 1

table.created是包含记录创建日期的列,

此查询应该只为当天提供transactionID。你需要几天的间隔吗? - 在这种情况下,以下查询应该这样做

 SELECT balance FROM 
      (SELECT transactionID, balance FROM table ORDER BY transactionID DESC) 
 GROUP BY DAYOFYEAR(table.created)

答案 2 :(得分:-1)

我建议您在桌面上插入unix_timestamp作为日期字段。并使用此查询获取最高的transactionID:

$query = 'SELECT MAX (transactionID) FROM [ TABLE NAME ] WHERE [ DATE FIELD NAME ] BETWEEN' .  strtotime("today 23:59"). ' AND ' . strtotime("today")