【问题标题】:Add same values in mysql with two parameters sql使用两个参数sql在mysql中添加相同的值
【发布时间】:2019-02-12 21:32:50
【问题描述】:

我有一个表交易如下:-

bm  | m   | price | amount | total    | status
USD | BTC | 0.01  | 1      | 0.01     | active
USD | BTC | 0.01  | 2.5    | 0.025    | active
USD | BTC | 0.4   | 0.5    | 0.020    | active 
USD | BTC | 0.4   | 0.22   | 0.088    | active

我想在一个状态为活动的输出中添加重复价格的数量,即 0.01 和 0.4 以及总计,并显示它们,以便结果如下:-

price | amount  | total
0.01  | 3.5     | 0.035
0.4   | 0.722   | 0.108

【问题讨论】:

    标签: php sql select mysqli sum


    【解决方案1】:

    您可以根据pricesum其他列进行分组:

    SELECT   price, SUM(amount), SUM(total)
    FROM     trade
    WHERE    status = 'active'
    GROUP BY price
    

    【讨论】:

    • 有没有办法从结果中删除逗号?
    • @JeffB 什么逗号?
    • 假设结果是 7,000 ...但我希望结果只有 7000 没有逗号,
    【解决方案2】:

    您可以使用聚合函数 sum() 并按价格分组

    select   , price , sum(amount) , sum(total) 
    from my_table  
    group by   price  
    

    【讨论】:

    • 有没有办法从结果中删除逗号?
    【解决方案3】:

    用 group by 试试这个:

    select price, sum(amount) as amount,sum(total) as total
    from tablename where status='active'
    group by price
    

    【讨论】:

    • 有没有办法从结果中删除逗号?
    • 假设结果是 7,000.00 ...我只想要 7000 没有逗号
    【解决方案4】:

    你可以试试这样的:

    SELECT *, sum(amount) AS totalAmount,sum(total) AS total 
    FROM TABLE_NAME 
    GROUP BY price;
    

    【讨论】:

    • 有没有办法从结果中删除逗号?
    • 您不能在我知道的任何 SQL 风格中使用 * 进行此查询。您正在返回未聚合的 bmm。您可以指定 price 而不是 *group by bm, m, price
    • 假设结果是 7,000.00 ...我只想要 7000 没有逗号
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多