请选择 进入手机版 | 继续访问电脑版
楼主: ybhk
2588 5

SQL语句怎么插入行 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

2%

还不是VIP/贵宾

-

威望
0
论坛币
39 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1115 点
帖子
84
精华
0
在线时间
94 小时
注册时间
2012-6-2
最后登录
2017-10-22

ybhk 发表于 2016-4-2 20:12:02 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如果有一个数据
group  value
a         1
a          2
b         3
b         4
想在每组下面插入一行计算这一组value 的和,像下面这样, 怎么做呢,谢谢
group value
a        1
a        2
.         3
b        3
b        4
.         7
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:sql语句 sql value Group alue

把sum的结果查出来(group by a,b),再把查询结果插入。
顺序就不要在意吧,或者取名叫a1,b1,然后按照group列排序查询。

使用道具

shiyiwan 在职认证  发表于 2016-4-4 20:51:39 |显示全部楼层 |坛友微信交流群
不知道你是用的什么数据库,下面给出一个Oracle下的实现。
  1. SQL> WITH ybhk AS (
  2.   2  SELECT 'a' AS f_group, 1 AS c_value FROM dual UNION ALL
  3.   3  SELECT 'a' AS f_group, 2 AS c_value FROM dual UNION ALL
  4.   4  SELECT 'b' AS f_group, 3 AS c_value FROM dual UNION ALL
  5.   5  SELECT 'b' AS f_group, 4 AS c_value FROM dual )
  6.   6  SELECT * FROM ybhk;
  7. F_GROUP    C_VALUE
  8. ------- ----------
  9. a                1
  10. a                2
  11. b                3
  12. b                4

  13. SQL>
复制代码
  1. SQL> WITH ybhk AS (
  2.   2  SELECT 'a' AS f_group, 1 AS c_value FROM dual UNION ALL
  3.   3  SELECT 'a' AS f_group, 2 AS c_value FROM dual UNION ALL
  4.   4  SELECT 'b' AS f_group, 3 AS c_value FROM dual UNION ALL
  5.   5  SELECT 'b' AS f_group, 4 AS c_value FROM dual )
  6.   6  SELECT (CASE when rn IS null THEN '.' ELSE f_group END) AS f_group, SUM(c_value) FROM (
  7.   7  SELECT f_group, c_value, ROWNUM AS rn FROM ybhk ) GROUP BY GROUPING SETS((f_group, rn), f_group);
  8. F_GROUP SUM(C_VALUE)
  9. ------- ------------
  10. a                  1
  11. a                  2
  12. .                  3
  13. b                  3
  14. b                  4
  15. .                  7
  16. 6 rows selected

  17. SQL>
复制代码


使用道具

ybhk 发表于 2016-4-5 22:17:34 |显示全部楼层 |坛友微信交流群
shiyiwan 发表于 2016-4-4 20:51
不知道你是用的什么数据库,下面给出一个Oracle下的实现。
谢谢  我不懂Oracel  我想知道SAS怎么做

使用道具

67890 发表于 2016-4-6 10:47:57 |显示全部楼层 |坛友微信交流群

data temp;
        input group_ $  value;
        cards;
a         1
a          2
b         3
b         4
;
run;
proc sql;
        create table temp01 as
        select group_, sum(value) as sum from temp
        group by 1;
quit;
proc sort data=temp; by group_; run;
proc sort data=temp01 out=temp02(rename=(sum=value)); by group_; run;
data have;
        set temp temp02;
        by group_;
run;
proc print; run;

使用道具

ybhk 发表于 2016-4-6 22:02:55 |显示全部楼层 |坛友微信交流群
67890 发表于 2016-4-6 10:47
data temp;
        input group_ $  value;
        cards;
谢谢

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-28 21:50