找回密码  加入

AUTOIT CN

搜索

[效率算法] RMB100求4条SQL语句,请SQL高手进

[复制链接]
发表于 2018-10-30 18:00:31 | 显示全部楼层
大神们快出场啦
 楼主| 发表于 2018-10-30 21:58:41 | 显示全部楼层
kk_lee69 发表于 2018-10-30 16:50
那提供 CSV 檔案吧  麻煩了

已上传,在置顶帖里
 楼主| 发表于 2018-10-30 21:59:13 | 显示全部楼层
wkun 发表于 2018-10-30 18:00
大神们快出场啦

真心谢谢捧场
发表于 2018-11-1 09:56:15 | 显示全部楼层

最近真的太忙 沒時間想   這幾天我找個休假日 想想
发表于 2018-11-1 16:10:11 | 显示全部楼层

先試看看  下面這段  這是一種 算法   但是 是不是符合你要的 我還沒仔細確認

select  kjh ,(select max(qh) from DB10  b where b.kjh=kjh )-MAX(qh)  as 遗漏数    from DB10  group by kjh  order by kjh
发表于 2018-11-1 19:29:39 | 显示全部楼层
本帖最后由 yangdai 于 2018-11-1 20:09 编辑

當前遺漏數select   (b.max2-a.max1) as diff_qh  from
    (select   max(qh) as max1  from  aa   where   (kjh not  like  '*01*'  and  kjh not  like   '*02*' and   kjh not   like  '*03*' ) ) as a,     
    (select max(qh) as max2  from  aa) as b


或者

select   (f.max2-e.max1) as diff_qh  from
   (select   max(a.qh) as max1  from
    (select a.qh ,a.kjh  from
         (SELECT qh,kjh from aa  where    kjh not   like  '*01*')  as a,
         (SELECT qh from aa  where     kjh  not like   '*02*' ) as b,
         (SELECT qh from aa  where     kjh  not  like   '*03*' ) as c
     where a.qh=b.qh  and a.qh=c.qh) as d) e,
(select max(qh) as max2  from  aa) as f
        

出現次數
SELECT count(*) from aa  where    (kjh    like  '*01*')   and  (kjh  like  '*02*' )   and  (kjh  like  '*03*' )   

最多遺漏數要寫程式,單一SQL 不能做
另外一個依上面的做法,自己改一下就可以了。


 楼主| 发表于 2018-11-2 03:08:58 | 显示全部楼层
kk_lee69 发表于 2018-11-1 09:56
最近真的太忙 沒時間想   這幾天我找個休假日 想想

好的,衷心感谢您的回复
 楼主| 发表于 2018-11-2 03:11:40 | 显示全部楼层
kk_lee69 发表于 2018-11-1 16:10
先試看看  下面這段  這是一種 算法   但是 是不是符合你要的 我還沒仔細確認

select  kjh ,(select m ...

消息 208,级别 16,状态 1,第 1 行
对象名 'DB10' 无效。
 楼主| 发表于 2018-11-2 03:16:22 | 显示全部楼层
yangdai 发表于 2018-11-1 19:29
當前遺漏數select   (b.max2-a.max1) as diff_qh  from
    (select   max(qh) as max1  from  aa   where ...

表名 beijing11x5, 我试了一下當前遺漏數,貌似报错了,我把aa替换为表名貌似还是不成
发表于 2018-11-2 06:04:07 | 显示全部楼层
本帖最后由 yangdai 于 2018-11-2 06:48 编辑
黑色de郁金香 发表于 2018-11-2 03:16
表名 beijing11x5, 我试了一下當前遺漏數,貌似报错了,我把aa替换为表名貌似还是不成

完全相等用AND   ,不完全用OR
改為OR 應該是你要的


當前遺漏數select   (b.max2-a.max1) as diff_qh  from
    (select   max(qh) as max1  from  aa   where   (kjh not  like  '*01*'  OR  kjh not  like   '*02*' OR   kjh not   like  '*03*' ) ) as a,     
    (select max(qh) as max2  from  aa) as b
发表于 2018-11-2 09:13:44 | 显示全部楼层
黑色de郁金香 发表于 2018-11-2 03:11
消息 208,级别 16,状态 1,第 1 行
对象名 'DB10' 无效。

DB10  是 資料庫名稱 要改成你的
发表于 2018-11-2 09:55:34 | 显示全部楼层
解决没有呀, 100块谁得了。
 楼主| 发表于 2018-11-4 22:30:02 | 显示全部楼层
yangdai 发表于 2018-11-2 06:04
完全相等用AND   ,不完全用OR
改為OR 應該是你要的


执行的时候报错了,请问 aa 我是否应改成表名?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
 楼主| 发表于 2018-11-4 22:36:32 | 显示全部楼层
kk_lee69 发表于 2018-11-2 09:13
DB10  是 資料庫名稱 要改成你的


已经改了,貌似还是报错,好像类型不兼容

我把表里的结构和类型上传一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
 楼主| 发表于 2018-11-4 22:43:08 | 显示全部楼层
本帖最后由 黑色de郁金香 于 2018-11-4 22:44 编辑
yangdai 发表于 2018-11-2 06:04
完全相等用AND   ,不完全用OR
改為OR 應該是你要的

已经改了,貌似还是报错,好像类型不兼容

我把表里的结构和类型上传一下




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备15028933号-3 )谷歌 百度

GMT+8, 2018-12-19 14:22 , Processed in 0.106387 second(s), 12 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表