SQLITE中,如何合并多条记录的数据到一条记录的不同列中

例如我有一个表table(id,num,pos),记录有(1,3,a),(1,2,b),(2,5,a)我想将记录按照id来合并,首先计算num列的和,然后pos为a的放到... 例如我有一个表 table ( id, num, pos),

记录有
(1, 3, a),
(1, 2, b),

(2, 5, a)

我想将记录按照id来合并,首先计算num列的和,然后pos为a的放到a 列中, pos为b的放到b列中,也就是结果为
id, sum, a, b
1, 5, 3, 2
2, 5, 5, 0
展开
 我来答
匿名用户
推荐于2016-03-11
展开全部
SQLite version 3.7.15 2012-12-12 13:36:53
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE  table1 (
   ...>   id   INT,
   ...>   num  INT,
   ...>   pos  CHAR(1)
   ...> );
sqlite> INSERT INTO table1 VALUES(1,3,'a');
sqlite> INSERT INTO table1 VALUES(1,2,'b');
sqlite> INSERT INTO table1 VALUES(2,5,'a');
sqlite> SELECT
   ...>   id,
   ...>   SUM(num),
   ...>   SUM( CASE WHEN pos='a' THEN num ELSE 0 END ) a,
   ...>   SUM( CASE WHEN pos='b' THEN num ELSE 0 END ) b
   ...> FROM
   ...>   table1
   ...> GROUP BY
   ...>   id;
1|5|3|2
2|5|5|0
sqlite>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式