+ -
当前位置:首页 → 问答吧 →  问一下这条sql,为什么不能这么写?

问一下这条sql,为什么不能这么写?

时间:2011-09-23

来源:互联网

我想实现下面这个功能:
SELECT DONE, (SELECT COUNT(*) FROM TABLE2) AS SUCCESS, CREATETIME
  FROM (SELECT SUM(OFFSET) AS DONE, SYSDATE AS CREATETIME FROM TABLE1)
 问一下,为什么不能这么写?
SQL code
select sum(offset) as done,
       (select count(*) from table2) as success,
       sysdate as createtime
  from table1

作者: lord_is_layuping   发布时间: 2011-09-23

用了聚集函数sum,就不能在查询其他列如sysdate,否则如何将sum(offset)这个值与多个sysdate的值对应起来?
select (select sum(offset) from table1) as done,
  (select count(*) from table2) as success,
  sysdate as createtime
from table1

作者: tjxray   发布时间: 2011-09-23

SQL code
select sum(offset) as done,
       (select count(*) from table2) as success,   ----该处:非单组分组函数
       sysdate as createtime
  from table1
--要增加分组函数
group by

--考虑子查询不能GROUP BY

作者: cosio   发布时间: 2011-09-23

SQL code
select sum(offset) as done,
       (select count(*) from table2) as success,
       sysdate as createtime
  from table1
group by sysdate

作者: lzd_83   发布时间: 2011-09-23

引用 2 楼 cosio 的回复:

SQL code
select sum(offset) as done,
(select count(*) from table2) as success, ----该处:非单组分组函数
sysdate as createtime
from table1
--要增加分组函数
group by

--考虑子查询不能GROUP BY


子查询不能GROUP BY,哦,这样啊,谢谢

作者: lord_is_layuping   发布时间: 2011-09-23

热门下载

更多