设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3833|回复: 5
打印 上一主题 下一主题

[查询] 如何用SQL语句筛选小于100%的数据?

[复制链接]
跳转到指定楼层
1#
发表于 2016-9-9 12:50:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如下数据,如何用SQL语句筛选已完成率小于100%的数据?即已全部完成的不显示,这个判断百分比的SQL语句如何写?望高手指教,感谢!


本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2016-9-9 13:21:38 | 只看该作者
  1. select * from 查询1
  2. where 完成率<1
复制代码

需要注意,这里的完成率必须是数值型字段。如果是文本型的话,应该先转换为数值型。
3#
 楼主| 发表于 2016-9-9 13:46:24 | 只看该作者
感谢roych 管理员的回复,确实需要转换,试着处理始终都提示数据类型不符,上传附件,望帮忙处理一下,感谢!



本帖子中包含更多资源

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

x
4#
发表于 2016-9-9 22:33:38 | 只看该作者
liuqi67 发表于 2016-9-9 13:46
感谢roych 管理员的回复,确实需要转换,试着处理始终都提示数据类型不符,上传附件,望帮忙处理一下,感谢 ...

实例显示为文本型,[最终查询]的sql
  1. SELECT 物料登记表_交叉表.产品名称, 物料登记表_交叉表.总数, 物料登记表_交叉表.已提供, 物料登记表_交叉表.未提供, Nz(Round([已提供]/[总数]*100,2),0) & "%" AS 已完成率, Nz(Round([未提供]/[总数]*100,2),0) & "%" AS 未完成率
  2. FROM 物料登记表_交叉表
  3. WHERE ((Not (Nz(Round([已提供]/[总数]*100,2),0) & "%")="100%"))
复制代码
5#
 楼主| 发表于 2016-9-10 19:39:11 | 只看该作者
ly 发表于 2016-9-9 22:33
实例显示为文本型,[最终查询]的sql

感谢您的回复!后来我也想到了这个办法解决了,直接筛选出不等于“100%“的就行了,这是一种简便的解决途径,我也想知道如果要执行>50%<100%的数据,这个就必须要转换成数字进行比较运算了,所以我想知道如何处理?想向您请教一下。
6#
发表于 2016-9-11 08:53:15 | 只看该作者
liuqi67 发表于 2016-9-10 19:39
感谢您的回复!后来我也想到了这个办法解决了,直接筛选出不等于“100%“的就行了,这是一种简便的解决途 ...

建议以后早点上传实例

1\既然是数值,百分比的条件格式应该写成:  >0.5 and <1
2\已完成率: Nz([已提供])/[总数],格式设置为"百分比",同理未完成率也仿照.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 20:29 , Processed in 0.101448 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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