| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 729 人关注过本帖
标题:请教SQL语句查询
只看楼主 加入收藏
xuecg
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-5-13
收藏
 问题点数:0 回复次数:7 
请教SQL语句查询
存在一个产品型号表,几个主要的字段为
ProductID,产品名,型号,访问次数
我需要查询出每个产品中访问次数最多的一个型号,请问这个如何写?
多谢了
搜索更多相关主题的帖子: SQL 语句 查询 
2007-06-15 21:33
binbindenny
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-16
收藏
得分:0 
select * from 表名 where 访问次数=(select max(访问次数) from 表名)
这应该能行,不过语句麻烦了点
2007-06-16 02:29
xuecg
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-5-13
收藏
得分:0 
这个肯定不成了,我只是选择每个产品中的MAX(访问次数),你选择的是所有产品中的MAX(访问次数),后来有个强人帮我解决了一部分问题

SELECT a.ProductId, a.产品名, a.型号, a.访问次数
FROM 产品型号表 AS a, [SELECT 产品名, max(访问次数) as c
FROM 产品型号表 as b
GROUP BY 产品名]. AS b
WHERE a.产品名=b.产品名 and a.访问次数=c
ORDER BY a.访问次数 DESC;

只是这个没有办法解决每个产品中可能MAX(访问次数)型号不唯一的问题
2007-06-16 22:57
wehooooo
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-6-12
收藏
得分:0 
//我是这样认为的 是不是 produceid 唯一
//name 产品名会相同 type唯一 访问次数times可能相同
//test1产品型号表
select * from test1
where times in
(
select max(times) from test1
group by name
)

//
2007-06-17 22:16
fqbnet2008
Rank: 2
等 级:新手上路
威 望:4
帖 子:1020
专家分:0
注 册:2007-1-4
收藏
得分:0 

我同意三楼的说法,不过可以将sql稍微改一下:
go
select a.Pro_Id,a.Pro_Name,a.Pro_Type,a.Pro_Access from Product as a,

(select Pro_Name,Pro_Type,max(Pro_Access) as c from Product as b group by Pro_name,Pro_type) as b

where a.Pro_Name=b.Pro_Name and a.Pro_Access=c and a.Pro_Type=b.Pro_Type

order by a.Pro_Name,a.Pro_Access desc,a.Pro_Type

3 A 05 78
7 A 02 9
1 A 01 5
6 B 03 50
5 B 02 45
8 B 01 20




雄关漫道真如铁,而今迈步从头越,从头越,苍山如海,残阳如血㊣♀★
2007-06-18 11:49
xuecg
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-5-13
收藏
得分:0 
不说了,最后研究了很久也和别人探讨了好多,发现还是实现不了,只能间接的通过一个临时表来实现
2007-06-18 20:15
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
ProductID,产品名,型号,访问次数
我需要查询出每个产品中访问次数最多的一个型号,请问这个如何写?

select * from table a where not exists(select 1 from table where productID=a.productID and 访问次数>a.访问次数)

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-06-18 21:41
lzalibabalr
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-7-31
收藏
得分:0 
SELECT *
FROM tb AS t
WHERE t.访问次数>= ALL(SELECT 访问次数
FROM tb
WHERE productID=t.productID)
2007-08-02 11:30
快速回复:请教SQL语句查询
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013700 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved