获取所有员工的名字,其名字以字母顺序开头

时间:2012-05-18 05:15:27

标签: sql-server tsql group-by aggregate-functions

在TSQL中,我如何获得员工的fname的起始字母和具有该字母的员工人数。我必须在PUBS数据库

上执行此操作

select ASCII(fname) 'ASCII CODE',SUBSTRING(fname,1,1) 'LETTER' from employee

输出

65  A
65  A
65  A
65  A
67  C
67  C
68  D
68  D
69  E
..      ..

期待输出

10  A
20  B
30  C
..  ..

由于它涉及到fname的第一个字母的分组,我已经包含groupby fname但输出没有变化。我需要运行什么SQL?

2 个答案:

答案 0 :(得分:3)

SELECT LEFT(fname,1), COUNT(1) 
FROM employee
GROUP BY LEFT(fname,1) 
编辑:该死的! Ninja'd - 有时可能有点慢更新lol

答案 1 :(得分:1)

只需按您选择的两列进行分组......

SELECT SUBSTRING(fname,1,1) 'LETTER', COUNT(*) cnt
FROM employee
GROUP BY (fname,1,1)