最近在连接查询中按时间插入

时间:2017-07-24 04:07:48

标签: mysql sql database

我有四张桌子。

  1. 银行
  2. enter image description here

    1. 平衡 enter image description here

    2. 公司

    3. enter image description here

      1. 关系
      2. enter image description here

        从下面查询我在结果下面打算

        SELECT A.bank_name,
                B.comp_name,
                C.b_num,
                C.balance_now 
        FROM balance C 
        LEFT JOIN relation D 
            ON C.relation_id=D.s_no 
        LEFT JOIN bank A 
            ON A.bank_id=D.bank_id 
        LEFT JOIN company B 
            ON B.comp_id=D.comp_id 
        GROUP BY C.relation_id
        

        输出

        enter image description here

        预期输出:从余额表中我想获得relation_id,使用时间字段平衡,即最近的时间。

1 个答案:

答案 0 :(得分:0)

您可以连接日期和时间列以获取datetime列,按顺序排序并使用LIMIT选择前1行,例如:

SELECT A.bank_name,
        B.comp_name,
        C.b_num,
        C.balance_now ,
        C.relation_id
FROM balance C 
LEFT JOIN relation D 
    ON C.relation_id=D.s_no 
LEFT JOIN bank A 
    ON A.bank_id=D.bank_id 
LEFT JOIN company B 
    ON B.comp_id=D.comp_id 
GROUP BY C.relation_id
ORDER BY concat(C.date,' ',C.time) DESC
LIMIT 1