当前位置:数据库 > Access >>

关于ACCESS数据统计的求助(在线等)

ACCESS 表 名称 1 2 3 4 5 A X X Y Y Y B Z Z Z C C 想得出 名称及对应列中出现最多的(文本格式) 如: 名称 最多 A Y B Z
追问:我看懂了,可行的说
但是。。。
没有简单点的方式,一句SQL语言搞定的那种么。。。。EXCEL的我会
但只支持6.5W条
目前数据有100W条左右,纠结都可以  SQL代码最好了~~
谢谢
答案:有点纠结,换个思路你就明白了,先把数据集中在一起:
Select * From (Select 名称, [1] As 新列 From 表) Union (Select 名称, [2] As 新列  From 表) Union .....(Select 名称, [5] As 新列 From 表);
最终你的结果不就出来了,他的结构就会变成:
名称      |             新列
-----------------------------
A           |          X
-----------------------------
B           |          Z
------------------------------
A           |          X
-----------------------------
B           |          Z
----------------------------
。。。。
----------------------------
把他保存为查询1,你再给他计数统计一下不就出来了:
Select 名称, 新列, Count(*) As 计数 From [查询1] Group By 名称, 新列;
保存为查询2结果如下:
名称   |             新列       |         计数
--------------------------------------------------
A           |          X               |         2
--------------------------------------------------
A           |          Y               |         3
---------------------------------------------------
B           |          Z               |         3
---------------------------------------------------
B           |          C               |        2
----------------------------------------------------
做最后的处理,建立新查询:
Select DISTINCTROW 名称, 新列 As 最多, Max(计数) as 最大值 From [查询2] Group By 名称, 新列;
大功告成,最终结果是:
名称      |             新列       |         计数
--------------------------------------------------
A           |          Y              |         3
--------------------------------------------------
B           |          Z               |         3
--------------------------------------------------
不知道有没有看懂我的意思,是把行结构转换成列进行统计,不是行标题转换成列标题,交叉查询是做不到的,理论上,这个Server用SQL游标合并所有列,找字符计算字符个数就好了,ACCESS做不到,所以这么大费周章,怕紊乱所以我把他分成4个查询做保存。
其他:你想用什么方式得出来呢?sql代码?

上一个:microsoft access用不了,打开数据库文件时总是出现下图所示的对话框。求高手赐教。
下一个:为什么access2003安装不了?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,