2013-07-05 49 views
0

第一次计时器在这里,所以请原谅我,如果我的问题有点混淆。我试图使用从SQL表中提取的数据在动态表中显示事物,并且我很难弄清楚逻辑。按名称计算发生次数

表结构看起来是这样的

NAME Homeruns Hits Bunts Total 

Jeff  0  3  1  4 

Sally  2  4  0  6 

John  3  7  0  10 

该表中的数据的方式,玩的类型为依据的结构(家润多,命中,短打,等等)是在一列中。我会打这个专栏。该名称位于单独的列中。此栏将被称为NAME。表名是BASEBALL。

+0

想要从表中获取所有数据吗?或者你想只包括一个特定的集合......即总共> 6 –

+0

的个人请清楚地问你想做什么。你在这个问题的正确轨道 –

+0

你想要什么只是给你一个预期output.We的例子,我们会尽力解决它 – Ayush

回答

3

这称为透视查询。您可以在标准SQL与聚集做到这一点:

select name, 
     sum(case when play = 'HomeRun' then 1 else 0 end) as HomeRun, 
     sum(case when play = 'hit' then 1 else 0 end) as Hit, 
     sum(case when play = 'bunt' then 1 else 0 end) as Bunt, 
     count(*) as Total 
from baseball bb 
group by name; 

这是一个非常简单的SQL查询,所以我猜你的专长是不是在编程方面少在数据库方面。我建议你花时间正确地学习SQL语言。