【TechTarget中国原创】问:假设有一个下面的表:
SkillName SkillCode Beginner Proficient Experienced Java 001 2 0 0 Java 001 0 3 0 Java 001 0 0 1 |
上面这个表表明:在Java技术方面,有两名新手、3名精通者以及1名经验丰富的技术人员。我需要对这个表写一个查询并检索如下表所示形式的结果,连接行:
SkillName SkillCode Beginner Proficient Experienced Java 001 2 3 1 |
你能解释一下我如何着手做这件事吗?如果你能举出一个例子就更好了。谢谢。
答:能解释这种观点的最好的例子就是你自己举出的这个例子:
SELECT SkillName , SkillCode , SUM(Beginner) AS Beginner , SUM(Proficient) AS Proficient , SUM(Experienced) AS Experienced FROM yourtable GROUP BY SkillName , SkillCode |
要知道这一查询的工作原理,你就需要对两个概念进行研究:GROUP BY和集合函数,特别是SUM()函数。每个基础的SQL指南或教材都会详细讲解这两个概念。
欢迎你来到精彩的SQL世界,祝你好运!