table:表数据
------------------------
 字段1       字段2------------------------
 张山        好
 张山        一般
 张山        还可以
 张山        差
 李四        还可以
 李四        还可以
 李四        还可以
 李四        差
 李四        差
 李四        差
 李四        好
 王五        还可以
 王五        一般
 王五        好
 王五        还可以
 王五        一般
 王五        好
想要的结果:
------------------------
 字段1       字段2
------------------------
 张山         4
 李四         7
 王五         6简单描述下:
           结果表里德内容就是将数据表中人的名字distinct了,结果表中的《字段2》的意思就是人的名字在表中出现了多少次。想了N久居然没有想出来怎么写这个sql,求高手指点指点!~

解决方案 »

  1.   

    这个很简单啊,做个分组就好了。
    测试数据:CREATE TABLE T57
    (
        f1 VARCHAR2(20), 
        f2 VARCHAR2(20)
    );INSERT INTO T57 VALUES('张山', '好');
    INSERT INTO T57 VALUES('张山', '一般');
    INSERT INTO T57 VALUES('张山', '还可以');
    INSERT INTO T57 VALUES('张山', '差');
    INSERT INTO T57 VALUES('李四', '还可以');
    INSERT INTO T57 VALUES('李四', '还可以');
    INSERT INTO T57 VALUES('李四', '还可以');
    INSERT INTO T57 VALUES('李四', '差');
    INSERT INTO T57 VALUES('李四', '差');
    INSERT INTO T57 VALUES('李四', '差');
    INSERT INTO T57 VALUES('李四', '好');
    INSERT INTO T57 VALUES('王五', '还可以');
    INSERT INTO T57 VALUES('王五', '一般');
    INSERT INTO T57 VALUES('王五', '好');
    INSERT INTO T57 VALUES('王五', '还可以');
    INSERT INTO T57 VALUES('王五', '一般');
    INSERT INTO T57 VALUES('王五', '好');
    测试结果: