浏览 3853 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-22
最后修改:2009-05-22
这几天在做sql编译相关的东西, 自己弄了个题目,连资深数据库开发人员都可能会搞错. 以下sql中哪些执行时会报错? (适于所有常见DBMS) select distinct col from tbl 2. select distinct col1, distinct col2 from tbl 3. select count(distinct col% 10) from tbl 4. select length(distinct col1% 10) from tbl 5. select sum(distinct col1% 10), sum(distinct col1% 9) from tbl 6. select distinct col1, count(distinct col2) from tbl 7. select sum(distinct col1 % 10), count(distinct col2 % 9) from tbl 8. select max(distinct substr(col1, 1, 10)), count(distinct col2 % 9) from tbl
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-01
LZ的题目很有意思
第2条和第4条会容易出错吧 第2条是因为两个distinct单独同时用时会有冲突 第4条是因为类型不匹配吧 还望指教 |
|
返回顶楼 | |
发表时间:2009-07-01
建议多用group by
|
|
返回顶楼 | |
发表时间:2009-07-06
@xieye
此题和group by 无关, 使不使用group by那得根据查询需求. @Ahu_425 2,4,6出错. disinct 和 aggregation(distinct )是两回事, 虽然是同一关键字. 函数接disinct只能是aggregation函数, length是普通函数,所以不行的. |
|
返回顶楼 | |