关于MySQL的数据查询基础问题

表格

日期产品销量
2021-1-1A3
2021-1-1B7
2021-1-1A2
2021-1-2B1
2021-1-2A3
2021-1-2B6

结果

产品销量2021-1-12021-1-2
A57
B37

上述的功能如何用SQL语句实现?

或者帮忙看看这段错在什么地方,初学者不太熟悉

(SELECT 产品,SUM(销量)AS "1-1" FROM TABLE1 WHERE 日期="2021-1-1" GROUP BY 产品 )AS T1
LEFT JOIN 
(SELECT 产品,SUM(销量)AS "1-2" FROM TABLE1 WHERE 日期="2021-1-2" GROUP BY 产品) AS T2
ON T1.产品=T2.产品   
阅读 1.7k
2 个回答

http://mysql.jsrun.net/

CREATE TABLE mytable (
    日期 varchar(255),
    产品 varchar(255),
    销量 int
);

INSERT INTO mytable VALUES ('2021-1-1', 'A', 3);
INSERT INTO mytable VALUES ('2021-1-1', 'B', 7);
INSERT INTO mytable VALUES ('2021-1-1', 'A', 2);
INSERT INTO mytable VALUES ('2021-1-2', 'B', 1);
INSERT INTO mytable VALUES ('2021-1-2', 'A', 3);
INSERT INTO mytable VALUES ('2021-1-2', 'B', 6);

SELECT 产品 as 产品销量,
sum(case 日期 when '2021-1-1' then 销量 else 0 end) as '2021-1-1', 
sum(case 日期 when '2021-1-2' then 销量 else 0 end) as '2021-1-2' 
FROM mytable group by 产品;
产品销量2021-1-12021-1-2
A53
B77

image.png

你看这个符不符合你的需求 SELECT date as '日期',product as '产品' ,sum(sale) as '销量' FROM test2 GROUP BY product,date

推荐问题