论坛首页 综合技术论坛

出道distinct相关的sql题给大家做做

浏览 3859 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-22   最后修改:2009-05-22

这几天在做sql编译相关的东西, 自己弄了个题目,连资深数据库开发人员都可能会搞错. 以下sql中哪些执行时会报错? (适于所有常见DBMS)
1.

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
 

 

 

   发表时间:2009-07-01  
LZ的题目很有意思
第2条和第4条会容易出错吧
第2条是因为两个distinct单独同时用时会有冲突
第4条是因为类型不匹配吧
还望指教
0 请登录后投票
   发表时间:2009-07-01  
建议多用group by
0 请登录后投票
   发表时间:2009-07-06  
@xieye
此题和group by 无关, 使不使用group by那得根据查询需求.
@Ahu_425
2,4,6出错.
disinct 和 aggregation(distinct )是两回事, 虽然是同一关键字. 函数接disinct只能是aggregation函数, length是普通函数,所以不行的.
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics