2006年12月28日

这样一个简单的表,只有一个名为ID的int型字段。表中,某些ID重复出现多次,有的只出现一次,很显示,要列出所有出现次数大于1的ID,及其的次数,可以用如下SQL语句实现:

select ID, count(*)    from XXX    group by ID    having count(*) > 1

如果要知道这个结果的数据集的行数(也就是有多少个出现次数大于1的ID),应该是:

select count(*) from    ( select ID, count(*) as ct        from XXX        group by ID        having count(*) > 1    ) A

 注意最后一行,右括号后面的那个A,这个是临时数据集的别名,如果不指定这个别名,整句SQL的语法就是错误的(别名是什么不重要,重要的是必须要指定这个别名),也就是说,它不支持匿名的临时数据集。

此外,在MSSQL 2000上面,在临时数据集的count(*)这个匿名字段指定名字(as ct)的话,同样也是一个语法错误,据朋友验证,这个在MySQL上面不是错误,但同样要为临时数据集指定别名。

2006年12月04日

看看印度人拿多少薪水

 
月收入
美刀
人民币
(按1:8折算)
最低薪水,全日制民工
45
360
忒黑了点
懂点洋文,给老外打工的司机和仆人
100
800
也黑
刚出道没有啥经验的,基本上不能写代码但可以先搞搞测试的
275
2,200
看来国情差不多
有点点经验,颇具潜力的年轻人
633
5,066
开始有点意思了
有四年左右经验的
1,266
10,133
流口水了
七八年经验的老手
3,250
26,000
讨厌的资本主义
最好的工程
5,416
43,333
资本主义一定要灭亡
管二三十个人的主管
4,500
36,000
当官的不一定比最棒的兵拿得多
小公司的总太监
7,500
60,000
这种“小”公司搁国内就是人人挤破头的大公司
大内总管(VP,CTO)
12,500
100,000
百万年薪不是梦

资料来自Code Craft