筛选出一证多卡 用sql_SQL 查询语句-WHERE

按条件筛选 使用SQL关键词WHERE查询中的条件指定要满足什么标准信息,去掉不满足条件的数据(删除用户不要的数据)。 WHERE语句中可以有多个条件,条件之间可以用操作符AND 或者OR进行连接。 WHERE语句的语法结构如下:

SELECT 列字段名称 FROM [表名称$] WHERE 列字段名 运算符 值

运算符包含大于、小于、等于、不等于、大于或等于、小于或等于、IN、 BETWEEN、AND等 。

应用实例说明,还是昨天数据(为了更好的更新今天的文章,修改了一点数据),只筛选出2号仓的数据;再筛选出入库数量大于60的数据

源数据:

5dafb029dfb07f0bb964213e573b4908.png

查询内容

只查询2号仓的数据:

91714a036ec361401379d14fc746548a.png

查询2号仓且入库数量大于60的数据:

988bd1f6e181f937dea19b90255390f6.png

代码运行的结果如下:

d4215a5a76d78710bf6b23ead23d71d2.gif
7bd5bfb50593628a2892ef198a1b566a.gif

代码如下:

beb5832c21fdd17f52fc535f39b3a70f.png
a940a6827465c3d326d93fcede00b8d1.png
Sub DoSql_Execute3() Dim cnn As Object, rst As Object Dim Mypath As String, Str_cnn As String, Sql As String Dim i As Long Set cnn = CreateObject("adodb.connection") '以上是第一步,后期绑定ADO  Mypath = ThisWorkbook.FullName '以上获取当前工作簿的路径及名称  If Application.Version < 12 Then '格式为.xls,调用下述语句 Str_cnn = "Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & Mypath Else '格式为.xlsx,调用下述语句 Str_cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & Mypath End If cnn.Open Str_cnn '判断一下当前Excel的版本,12.0以下使用“Provider=Microsoft.Jet.Oledb.4.0”,以上使用“Microsoft.ACE.OLEDB.12.0” '以上是第二步,建立链接 ' Sql = "SELECT 条码,仓位,货号,入库数量 FROM [商品信息目录$] where 仓位='2号仓' and 入库数量>60" 'Sql语句,查询商品信息目录表中条码,仓位,货号,入库数量 并且只筛选出仓位=2号仓的数据,并且入库的数量要大于60 [a2:d1000].ClearContents '清空[a2:c1000]区域内容 Range("a2").CopyFromRecordset cnn.Execute(Sql) 'Execute语句先执行SQL语句 '使用单元格对象的CopyFromRecordset方法将SQL查询到的内容复制到D2单元格为左上角的单元格区域 '以上是第三步,执行SQL语句并将数据读入表格指定区域 cnn.Close '关闭链接 Set cnn = Nothing '释放内存End Sub

代码解析

代码我放了一个例子,大部分的代码是一致的,只有SQL的句子不一样。需要注意的是:仓位='2号仓' 2好仓的的符号是英文输入法下的单引号,不是双引号。

点击关注可以更方便的查看Excel VBA的案例文章

私信 SQL 可以获取SQL代码的Excel文件

私信 视频 可以获取54集VBA入门视频

私信 VBA或 vba 可以获取文章中含VBA代码的Excel文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AutoModelForCausalLM.from_pretrained方法可以实现多卡并行传输。具体实现步骤如下: 1. 首先,通过调用from_pretrained方法加载预训练模型,并传入相关参数,如模型路径、配置、数据类型、内存使用等。 2. 如果检测到有多个GPU可用(通过torch.cuda.device_count()判断),则进入多卡加载的分支。 3. 在多卡加载分支中,首先使用accelerate库的infer_auto_device_map函数根据模型和内存限制自动分配设备映射。 4. 然后,使用accelerate库的dispatch_model函数将模型分发到各个设备上,实现多卡并行传输。 5. 最后,打印设备映射信息,表示多GPU预测已启用。 6. 如果只有一个GPU可用,则进入单卡加载分支,将模型移动到GPU上。 下面是一个示例代码: ```python from transformers import AutoModelForCausalLM import torch ori_model_path = "path/to/pretrained_model" config = "path/to/config" bc_model = AutoModelForCausalLM.from_pretrained( ori_model_path, config=config, torch_dtype=torch.float16, low_cpu_mem_usage=True, trust_remote_code=True, revision='main', device_map='auto' ) if torch.cuda.device_count() > 1: from accelerate import dispatch_model from accelerate.utils import infer_auto_device_map, get_balanced_memory device_map = infer_auto_device_map(bc_model, max_memory=get_balanced_memory(bc_model)) bc_model = dispatch_model(bc_model, device_map) print('multi GPU predict => {}'.format(device_map)) else: bc_model = bc_model.cuda() print("single GPU predict") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值