Sign-up....

请教一个GROUP BY 的用法!

rs1.open "select id,myip,r1,r2,time1,times,keyfrom,keyword from keylist

group by keyfrom

order by times desc,time1 desc",conn,1,3

KEYFROM这个字段有很多相同的,我想按这个分组应该怎么弄?

现在的错误:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC Microsoft Access Driver] 试图执行的查询中不包含作为合计函数一部分的特定表达式 'id'

[315 byte] By [msdn] at [2007-8-15 10:04:56]
# 1 Re: 请教一个GROUP BY 的用法!

rs1.open "select keyfrom from keylist group by keyfrom order by times desc,time1 desc",conn,1,3

itzhiren at 2005-9-20 10:23:39 >
# 2 Re: 请教一个GROUP BY 的用法!

"试图执行的查询中不包含作为合计函数一部分的特定表达式 'id'"

不被Group by的字段需要作为合计函数的一部分,比如Max(id) as id

dh20156 at 2005-9-20 10:27:57 >
# 3 Re: 请教一个GROUP BY 的用法!

楼上说得对,要么你就在其他字段里面是用集合函数,要么使用子查询。

fantiny at 2005-9-20 10:42:15 >
# 4 Re: 请教一个GROUP BY 的用法!

rs1.open "select * from keylist group by keyfrom order by times ,time1 desc",conn,1,3

victorhero at 2005-9-20 10:44:43 >
# 5 Re: 请教一个GROUP BY 的用法!

distinguish

dishui at 2005-9-20 10:46:25 >
# 6 Re: 请教一个GROUP BY 的用法!

victorhero(游神)

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC Microsoft Access Driver] 不能将已选定 '*' 的字段中组合。

singit3 at 2005-9-20 11:07:47 >
# 7 Re: 请教一个GROUP BY 的用法!

itzhiren(itzhiren)

[Microsoft][ODBC Microsoft Access Driver] 试图执行的查询中不包含作为合计函数一部分的特定表达式 'times' 。

singit3 at 2005-9-20 11:08:53 >
# 8 Re: 请教一个GROUP BY 的用法!

dh20156(风之石)

是不是这个意思

单独提取的字段只能是GROUP BY 里边的字段,其它字段不能单独提取,只能合计?

singit3 at 2005-9-20 11:16:29 >
# 9 Re: 请教一个GROUP BY 的用法!

楼主难道只会看现成的代码么?

因为你没讲清楚查询规则,只说按哪个字段分组,参考:

select MAX(id) AS id,MAX(myip) AS myip,MAX(r1) AS r1,MAX(r2) AS r2,MAX(time1) AS time1,MAX(times) AS times,keyfrom,MAX(keyword) AS keyword from keylist

group by keyfrom

order by times desc

dh20156 at 2005-9-20 11:20:47 >
# 10 Re: 请教一个GROUP BY 的用法!

"试图执行的查询中不包含作为合计函数一部分的特定表达式 'id'"

不被Group by的字段需要作为合计函数的一部分,比如Max(id) as id

---就是这样的!

legend1970 at 2005-9-20 11:52:15 >
# 11 Re: 请教一个GROUP BY 的用法!

select MAX(id) AS id,MAX(myip) AS myip,MAX(r1) AS r1,MAX(r2) AS r2,MAX(time1) AS time1,MAX(times) AS times,keyfrom,MAX(keyword) AS keyword from keylist

group by keyfrom

这么说来,就没办法取多条记录了吗?MAX什么的,那只有一条记录啊。

我是想把所有记录都取出来,但只不过想把keyfrom这个字段内容相同的放在一起。

singit3 at 2005-9-20 13:36:13 >
# 12 Re: 请教一个GROUP BY 的用法!

"想把keyfrom这个字段内容相同的放在一起"

是怎样放在一起?排序还是按keyfrom分组然后其他相同的字段加起来?

dh20156 at 2005-9-20 13:49:34 >
# 13 Re: 请教一个GROUP BY 的用法!

好像是我搞错了。我的想法用ORDER BY KEYFROM就可以了。

谢谢大家了。是我的想法错误了。

但是如果我想把KEYFROM这个字段内容相同的记录的TIMES(数字)求一下和,应该怎么做?

singit3 at 2005-9-20 14:20:06 >
# 14 Re: 请教一个GROUP BY 的用法!

求和同时最好求出该组所占百分比。

singit3 at 2005-9-20 14:27:53 >

Web

All Classified