首页 新闻 赞助 找找看

select d_id,d_up_id from department where count(d_id)>3 group by d_up_id

0
悬赏园豆:10 [已解决问题] 解决于 2011-12-06 16:43

麻烦帮我找找那里有问题、、、急急急、、、

你的幸福、我在彼岸的主页 你的幸福、我在彼岸 | 初学一级 | 园豆:20
提问于:2011-12-05 21:16
< >
分享
最佳答案
0

明显会报一个:

 d_id不在group by子句中。

正确的应该是这样的:

select d_id,d_up_id from department group by d_up_id ,d_idhaving count(d_id)>3

收获园豆:10
顾晓北 | 专家六级 |园豆:10844 | 2011-12-06 13:21

好的、、谢啦、、

 

你的幸福、我在彼岸 | 园豆:20 (初学一级) | 2011-12-06 16:43
其他回答(4)
0

你到底在查询什么啊   感觉你的条件有问题耶

菜中菜 | 园豆:123 (初学一级) | 2011-12-05 21:26

帮我找出具体的错误就行了、、

 

那个聚合函数我没有在哪里用过

 

支持(0) 反对(0) 菜中菜 | 园豆:123 (初学一级) | 2011-12-05 21:30
0

count处有问题,改用having,参考:http://www.cnblogs.com/liuzhengliang/archive/2008/08/17/1269632.html

artwl | 园豆:16736 (专家六级) | 2011-12-05 21:33

能在帮我  用自己熟悉的语言写出连接到数据库,并返回一个结果集的语句 写出来么、

@你的幸福、我在彼岸: 

string sConnectionString; //声明一个字符串
//连接数据库字符串
sConnectionString = " Data Source=.;Initial Catalog=数据库名;User ID=用户名;Password=密码 ";
//创建SqlConnection数据库连接对象
SqlConnection Conn = new SqlConnection(sConnectionString);
//打开Conn
Conn.Open();
SqlDataAdapter Customer = new SqlDataAdapter("SQL语句", Conn);
DataSet ds = new DataSet();
//填充数据集
Customer.Fill(ds, "Customers");



支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2011-12-05 21:54

@artwl: 好的、、谢啦、、

 

0

聚合函数不应出现在 WHERE 子句中,

除非该聚合函数位于 HAVING 子句或选择列表所包含的子查询中,

并且要对其进行聚合的列是外部引用。

沅江 | 园豆:151 (初学一级) | 2011-12-05 21:38
0
select max(d_id),d_up_id from department group by d_up_id having count(d_id)>3 


试一试这个

小小刀 | 园豆:1991 (小虾三级) | 2011-12-05 21:59

这个、、有点不懂哎、、那个max有什么用还有group by d_up_id 不是应该写在最后么、、

@你的幸福、我在彼岸: max只是在分组的时候只选择一条,having是在groupby之后才做的事情。

支持(0) 反对(0) 小小刀 | 园豆:1991 (小虾三级) | 2011-12-05 22:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册