标题:记录一个Select 语句取唯一值方法
只看楼主
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
结帖率:100%
 问题点数:0 回复次数:5 
记录一个Select 语句取唯一值方法
在某个项目中遇到的问题,记录在此,希望需要的人能用到.
有某个价格波动表如下:
CREATE CURSOR  aa (dm c(3) ,rq d , jg y)
INSERT INTO aa VALUES ('a1' ,{^2018.11.02} ,1.103)
INSERT INTO aa VALUES ('a2' ,{^2018.11.04} ,1.104)
INSERT INTO aa VALUES ('a2' ,{^2018.11.01} ,1.114)
INSERT INTO aa VALUES ('a3' ,{^2018.11.09} ,1.214)
INSERT INTO aa VALUES ('a3' ,{^2018.11.10} ,1.219)
INSERT INTO aa VALUES ('a3' ,{^2018.11.05} ,1.101)
INSERT INTO aa VALUES ('a3' ,{^2018.11.10} ,1.215)

希望用一句Select语句,取出数据,结果如下:

规则:
每个物料,取唯一值,
如果有多个日期,取最大日期带出的价格.
如果某个物料在同一时间有多个值,取出最小值.

至于为什么强制要用一句Select语句,是因为这个本身是在一个MySql环境中运行的,
不能像VFP那样,写一个过程来解决.
搜索更多相关主题的帖子: 语句 INSERT VALUES Select INTO 
2019-10-22 09:02
厨师王德榜
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
经过摸索,得出语句如下,希望能帮到有类似困扰的人:
SELECT cc.dm ,cc.rq,MIN(cc.jg) as jg   FROM ( ;
    SELECT aa.* FROM aa ,(SELECT aa.dm ,MAX(aa.rq) as rq  ;
                FROM aa  GROUP BY dm) as bb ;
     WHERE aa.dm = bb.dm AND aa.rq = bb.rq ) as cc ;
GROUP BY cc.dm,cc.rq ;
into cursor result
2019-10-22 09:04
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
谢谢分享!
2019-10-22 13:16
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
不错,赞一个。

活到老,学到老! http://www. E-mail:hu-jj@
2019-10-22 17:40
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:0 
select b1.dm,b1.rq,b2.jg from (select dm,max(rq) as rq from aa group by dm)b1 ;
left join (select dm,rq,min(jg) as jg from aa group by dm,rq)b2 ;
on b1.dm=b2.dm AND b1.rq=b2.rq ;
into cursor result
2019-10-23 09:04
china_sn
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2018-5-31
得分:0 
不错,赞一个。 谢谢分享
2019-11-04 11:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497378-1-1.html




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

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