把一个按月统计表,变成按年统计
year | month | amount |
---|---|---|
1991 | 1 | 1.1 |
1991 | 2 | 1.2 |
1991 | 3 | 1.3 |
1991 | 4 | 1.4 |
1992 | 1 | 1.1 |
1992 | 2 | 1.2 |
1992 | 3 | 1.3 |
1992 | 4 | 1.4 |
用sql生成下面的表:
year | m1 | m2 | m3 | m4 |
---|---|---|---|---|
1991 | 1.1 | 1.2 | 1.3 | 1.4 |
1992 | 1.1 | 1.2 | 1.3 | 1.4 |
SELECT
year,
SUM(CASE
WHEN month = 1 THEN amount
ELSE 0
END) AS m1,
SUM(CASE
WHEN month = 2 THEN amount
ELSE 0
END) AS m2,
SUM(CASE
WHEN month = 3 THEN amount
ELSE 0
END) AS m3,
SUM(CASE
WHEN month = 4 THEN amount
ELSE 0
END) AS m4
FROM
t1
GROUP BY year;
有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value
这道题的SQL 语句怎么写?
UPDATE b
SET
b.value = (SELECT
a.value
FROM
a
WHERE
a.key = b.key)
WHERE
b.key IN (SELECT
a.key
FROM
a);
网友评论