代码之家  ›  专栏  ›  技术社区  ›  TarangP

根据“按日期分组”字段获取数据

  •  1
  • TarangP  · 技术社区  · 6 年前

    这是我的桌子

    enter image description here

    有字段类型,即1表示收入,2表示支出

    现在的需求是例如在表中有两个事务在 2-10-2018

    Expected Output
    
    id   created_date   total_amount
    1       1-10-18     10
    2       2-10-18     20(It calculates all only income transaction made on 2nd date)
    3       3-10-18     10
    and so on...
    

    它将返回一个新字段,其中只包含在perticul day进行的incom事务

    我试过的是

     SELECT * FROM `transaction`WHERE type = 1 ORDER BY created_date ASC
     UNION
     SELECT()
    
    
    //But it wont work
    SELECT created_date,amount,status FROM
        (
            SELECT COUNT(amount) AS totalTrans FROM transaction WHERE created_date = created_date
        ) x
     transaction
    

    您也可以在这里看到模式 http://sqlfiddle.com/#!9/6983b9

    2 回复  |  直到 4 年前
        1
  •  1
  •   Madhur Bhaiya    6 年前

    请尝试以下操作:

    SELECT 
      `created_date`, 
      SUM(IF (`type` = 2, `amount`, 0)) AS total_expense_amount, 
      COUNT(IF (`type` = 2, `id`, NULL)) AS expense_count  
    FROM 
      `transaction` 
    GROUP BY `created_date` 
    ORDER BY `created_date` ASC 
    
        2
  •  0
  •   Gordon Linoff    6 年前

    你只是想要一个 WHERE 条款?

    SELECT t.created_date, SUM(amount) as total_amount
    FROM transaction t
    WHERE type = 2
    GROUP BY t.created_date
    ORDER BY created_date ASC ;