mysql - 如何在查询中仅乘以一行?

标签 mysql

SELECT user_id, currency, SUM( price ) AS totalPrice, created
FROM accounts WHERE user_id IN ( SELECT users.id FROM users
                                 WHERE country_id ='$con_id' )
AND created BETWEEN  '2013-02-01' AND  '2013-02-28' GROUP BY currency

这个查询给我的结果如下

Curreny  totalPrice
SEK      10
USD      10

我只想从 7 乘以 SEK。数据库中只有 USD 汇率,因此我想在查询中将其与 7 获取瑞典克朗汇率。我怎样才能在这个查询中做到这一点?

最佳答案

你的问题有点令人困惑。如果我正确理解您的问题,如果货币等于 SEK,您希望将总值(value)乘以 7

SELECT  user_id, 
        currency, 
        SUM(price) * IF(currency = 'SEK', 7, 1) totalPrice, 
        created
FROM    accounts
WHERE   user_id
        IN 
        (
            SELECT users.id
            FROM users
            WHERE country_id =  '$con_id'
        ) AND 
        created BETWEEN  '2013-02-01' AND  '2013-02-28'
GROUP   BY currency

关于mysql - 如何在查询中仅乘以一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15459368/

相关文章:

mysql - 需要建议 : mysql database structure

mysql - 如何将数据从表的一个部分复制到表中某些值相同的另一部分

c# - MySql.Data 'new Thread' 与 ThreadPool : using ThreadPool creates a deadlock

php - 如何使用 JSON 将 select 语句结果(MySQL)从 php 发送到 android?

PHP MYSQL 相同的数字,相同的类型,不同的结果

mysql - 有没有办法按计算值进行过滤而不将其包装在另一个选择中?

mysql - 按月统计mysql数据库中的条目数

php - 为什么我的电子邮件和数据库会得到 2 个不同的值?

Mysql2::错误:此连接正在被使用

c# - 从数据库中获取动态按钮花费的时间太长