【问题标题】:SQLite Select different where clauseSQLite选择不同的where子句
【发布时间】:2015-12-09 18:46:43
【问题描述】:

我被查询困住了。基本上我想根据两个where子句获得同一字段的两个结果。 当 (ins_n = 0) 时求和 (field1),当 (ins_n = 1) 时求和 (field1)。我希望我解释了。现在我只能在 (ins_n = 0) 时这样做

"SELECT " +
"SUM(field1) AS incasso1, " +                
"FROM Movimentinegozio WHERE ins_n = 0 ";

【问题讨论】:

  • select ... where ins_n in (0, 1) group by ins_n?

标签: sql sqlite select


【解决方案1】:

您可以使用SUM 和CASE:

SELECT SUM(CASE WHEN ins_n = 0 THEN field1 END) AS incasso0,
       SUM(CASE WHEN ins_n = 1 THEN field1 END) AS incasso1
FROM Movimentinegozio
WHERE ins_n IN (0, 1);

SqlFiddleDemo

如果您需要两行结果,请使用@Marc B 建议:

SELECT ins_n, SUM(field1) AS incasso
FROM Movimentinegozio
WHERE ins_n IN (0, 1) 
GROUP BY ins_n

SqlFiddleDemo2

【讨论】:

    猜你喜欢
    • 2014-08-14
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多