Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQLite:根据其他列的条件将一列的值除以其他列_Sql_Sqlite_Select - Fatal编程技术网

SQLite:根据其他列的条件将一列的值除以其他列

SQLite:根据其他列的条件将一列的值除以其他列,sql,sqlite,select,Sql,Sqlite,Select,我在SQLite3中有一个具有以下结构的表: Date Category Value ------------ -------------- ------------- 20160101 A 5 20160101 B 3 20160102

我在SQLite3中有一个具有以下结构的表:

Date                    Category              Value
------------            --------------        -------------
20160101                A                     5
20160101                B                     3
20160102                A                     4
20160102                B                     2
20160103                A                     7
20160103                B                     3
20160104                A                     8
20160104                B                     1
我的目标是从表中选择值,以便对于每个日期,我将类别A的值除以类别B的值。对于每个日期,每个类别我只有一个值。即,目标是选择具有以下值的两列:

Date                    NewValue(A/B)
------------            --------------
20160101                1.6667                     
20160102                2                     
20160103                2.3333                      
20160104                8                    

我试图通过创建一个临时表来解决这个问题,但是我得到了错误的值。

您可以使用条件聚合或
连接来实现这一点:

select t.date, ta.value / tb.value
from t ta join
     t tb
     on ta.date = tb.date and ta.category = 'A' and tb.category = 'B';
一个警告:SQLite进行整数除法。因此,如果这些值是整数,则应使用如下内容:

select t.date, ta.value * 1.0 / tb.value