选择最高薪水

2023-12-27

假设工资表:

name     lowhours  highhours  wage 
 Default  0.0       40.0       100  
 Default  40.0      50.0       150  
 Default  50.0      70.5       154  
 Default  70.5      100.0      200  
 Brian    0.0       40.0       200  
 Brian    40.0      50.0       250  
 Brian    50.0      60.0       275  
 Brian    60.0      70.0       300  
 Brian    70.0      80.0       325  
 Brian    80.0      9999.0     350  
 Chad     0.0       40.0       130  
 Chad     40.0      9999.0     170 

我目前正在使用此代码(AutoIT 脚本:

func getCurrentWage($Employee, $Hour_number)
    Dim  $row
    Local $Wage = 0
    Local $Found = "found"
    _SQLite_QuerySingleRow(-1, "SELECT wage FROM wagetable WHERE name LIKE " & _SQLite_Escape($Employee) & " AND " & _SQLite_Escape($Hour_number) & " BETWEEN lowhours AND highhours;", $row)
    if @error then
        _SQLite_QuerySingleRow(-1, "SELECT wage FROM wagetable WHERE name LIKE 'Default' AND " & _SQLite_Escape($Hour_number) & " BETWEEN lowhours AND highhours;", $row)
        $Found = "not found"
    endif

    If ($row[0] == "") Then Msgbox(0,0,"Error getCurrentWage")
    $Wage = $row[0]

    Debug("Wage='" & $Wage & "'  because " &$Employee&" was "& $Found& " -- and Hours Elapsed is " & $Hour_number, true)
    return $Wage
EndFunc

因此,如果 Hour_number 介于低小时或高小时之间,这两个查询是完美的。 我需要某种查询,它基本上会执行以下操作:

SELECT wage from wagetable WHERE name LIKE $Employee AND max(highhours)

然后只需重复“默认”即可,因为找不到该员工。

额外:如果仅通过 1 次查询未找到 $Employee,是否可以尝试“默认”?


如果仅通过 1 次查询未找到 $Employee,是否可以尝试“默认”?

  SELECT name, wage, highhours
    FROM wagetable
   WHERE name like 'Brian' OR
         name like 'Default'
ORDER BY name,
         highhours desc

该查询在查询时有效Brian,但要使其适用于任何名称Default应存储在数据库中以特殊字符开头_-+@,因为数字和字母在排序中排在第一位。

另一种方法是您在表中创建另一列,为了我们的论证,称为priority应该有这个值0 for Default and 1对于任何其他用户。然后你可以简单地这样做:

  SELECT name, wage, highhours
    FROM wagetable
   WHERE name like 'Brian' OR
         name like 'Default'
ORDER BY priority desc,
         highhours desc

当然,这是相同的解决方案,但它是比依赖默认值名称中的特殊字符更好的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择最高薪水 的相关文章

  • MySQL 通过 current_timestamp 选择上个月的数据

    直到今天 当我使用 MySQL 并需要对日期 时间执行操作时 我使用带有 unix 时间戳的 int 列 没有出现任何问题 但今天在阅读了一些指南后 我决定默认使用 current timestamp 测试时间戳列 所以我感兴趣如何按列选择
  • 合并两个 MYSQL SELECT 查询[重复]

    这个问题在这里已经有答案了 可能的重复 如何将两个 Post Category 表 MYSQL SELECT 查询合并为一个 https stackoverflow com questions 12972130 how to combine
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • 需要按天分割日期时间范围

    我有一个需要根据日期时间拆分的表 输入表 ID Start End A 2019 03 04 23 18 04 2019 03 04 23 21 25 A 2019 03 04 23 45 05 2019 03 05 00 15 14 所需
  • SQL 中基于下一条记录和上一条记录的复杂排序

    这是一个后续问题根据 SQL 中的下一条记录和上一条记录进行排序 https stackoverflow com questions 30477803 sorting based on next and previous records i
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • libmysqlclient.a 和 libmysqlclient_r.a 有什么区别?

    我应该使用哪个来链接 mysqlclient 库 它们之间有什么区别 我似乎找不到答案 谢谢 较新版本的 MySQL 客户端发行版不包含 r 版本 有些可能有从 libmyqslclient r a 到 libmyqslclient a 的
  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • SQL Server 2008R2 和创建 XML 文档

    论坛上的第一篇文章 因为我真的被这个问题困住了 以下查询正确地将有效的 XML 文档分配给 xTempXML 变量 类型为 xml 注 文档的长度 转换为varchar max 711 select xTempXML select Pres
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • EF Core 2.1 启动缓慢

    在获得了 EF6 的一些经验后 例如this https stackoverflow com questions 48441674 extremely slow ef startup 15 minutes 我想尝试一下 EF Core 因为
  • 什么时候应该使用 C++ 而不是 SQL?

    我是一名 C 程序员 偶尔使用 MySQL 来处理数据库 但我的 SQL 知识相当有限 但我肯定愿意改变这一点 目前 我正在尝试仅使用 SQL 查询对数据库中的数据进行分析 但我准备放弃了 转而将数据导入到C 中 用C 代码进行分析 我和同
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • BlackBerry SQLite:将一个 SQLite 数据库连接到另一个

    我正在尝试使用 SQLite 将一个 SQLite 数据库附加到 BlackBerry 上的另一个数据库附加数据库 http www sqlite org lang attach html命令 Database d1 d2 Statemen
  • “库例程调用不按顺序” sqlite3_prepare_v2(CREATE TABLE)

    你知道为什么我打电话时会收到 Library Routine Called Out Of Sequence 吗 sqlite3 prepare v2 CREATE TABLE 在空数据库上 我创建一个空数据库 然后打开它 后来我将所有必须写
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam

随机推荐

  • 与 Visual C++ 2010 的串行端口 (RS232) 通信

    我必须在 Visual C 2010 中编写一个程序 以便在 Windows 7 32 位中通过串行端口 RS232 进行通信 有人可以帮我找到正确的例子吗 串行通信 http msdn microsoft com en us librar
  • 测试 Flask 响应是否为 JSON

    如何测试 Flask 视图生成的响应是否为 JSON from flask import jsonify app route def index return jsonify message hello world c app app te
  • JavaScript 模板文字中的转义美元符号(模板字符串)

    我正在使用 JavaScript ES6 的新模板文字 模板字符串 语法文档在这里 https developer mozilla org en US docs Web JavaScript Reference Template liter
  • 从 Firestore 检索 json 数据

    在 firestore 文档中我找到了这种获取多数据的方法 db collection cities where capital true get then function querySnapshot querySnapshot forE
  • 获取当前更新的列名称以在触发器中使用

    有没有办法实际获取已更新的列名称以便在触发器中使用它 基本上 每当用户插入或更新表时 我都会尝试进行审计 跟踪 在本例中 它与联系人表有关 CREATE TRIGGER after update contact AFTER UPDATE O
  • 如何使用 git 从另一个目录添加文件?

    我通过浏览器直接在 GitHub 上创建了一个存储库 而不是使用 git bash 将存储库克隆到我的机器上 我能够使用自述文件使用 bash 进行测试提交 我总是变得致命 运行 git work tree yourSrcFolder ad
  • 在 Ruby (Rails) 中模拟抽象类

    我想在 Ruby on Rails 中模拟一个抽象类 IE 如果有人试图打电话 我想提出例外Abstract new 但他应该能够打电话Child new while Child lt Abstract 这个怎么做 覆盖两者new and
  • “允许从任何地方访问”MongoDB Atlas

    我正在构建一个网站 并使用 MongoDB Atlas 作为我的数据库 在 MongoDB 网络访问部分中 我必须指定要连接的 IP 地址才能建立数据库连接 并且由于我使用云服务来运行我的服务器 所以我必须选择 允许从任何地方访问 选项 将
  • 单元测试反应动作 - browserHistory 未定义

    我为我的行为编写测试 使用 browserHistory from react router 当我运行测试时 由于未知原因 导入的 browserHistory 未定义 因此 测试会抛出错误 无法读取未定义的属性 push 我不知道为什么
  • 网站或应用程序上的数据泄露暴露了您的密码。 Chrome 建议更改您的密码 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个 login从 mongoose 获取特定用户配置文件的路由 我有 select password 工作排除密码 但我仍然从谷歌浏
  • 想要从其他活动更改 TextView 的文本吗?

    我目前正在设计一个电子书阅读器应用程序作为我的项目 我在更改文本时遇到问题textview来自其他活动 我的项目内容 活动1包含两个按钮 当button1单击 某些文本 应该出现 何时button2单击 其他文本 应该出现在文本视图1这是在
  • HTML5 Canvas 无法在外部 JavaScript 文件中工作

    我已经用 JavaScript 编写了这段代码 当我将其包含在我的 index html 页面上时 它工作得非常好
  • 什么是“覆盖条件”?

    的来源Statemtl 中的变压器 http hackage haskell org packages archive mtl 2 1 2 doc html src Control Monad State Class html states
  • Sqlite 中的多线程

    我正在使用 System data sqlite 连接到 Sqlite 数据库 按照SQLite 文档 http www sqlite org threadsafe html 用户可以通过使用启用多线程SQLITE OPEN NOMUTEX
  • tkinter treeview单击所选项目的事件[重复]

    这个问题在这里已经有答案了 在我的小型 tkinter 应用程序中 我的树具有如下图所示的结构 我只想在用户双击树的最后一个项目 Amount1 或 Amount2 等 时才创建单击事件 不幸的是 当我单击树的任何项目时 单击事件会起作用
  • Node-gyp 和自定义依赖/库/头安装路径

    我有一个构建环境 其中我的库 和标头 安装到自定义位置 从 npm 安装软件包时 使用 node gyp 的模块会失败 因为它们找不到我已安装的库 或标头 如何让 node gyp 知道我的自定义安装位置 linux 如果你设置CXXFLA
  • 无法连接到服务器 127.0.0.1 shell/mongo.js

    当我在 ubuntu 中设置 mongodb 时 我尝试 mongo 它显示此错误 couldn t connect to server 127 0 0 1 shell mongo js 那么我能做什么 thanks 手动删除锁定文件 su
  • 将对象传递给 PowerShell 函数

    我试图将 SQL 适配器对象传递给 PowerShell 函数 但收到此错误 executeQueryAndFillTable 无法处理参数转换 参数 da 无法转换类型的 System Object 值 System Object 以键入
  • 如何使用Vue登录后渲染标题和侧边栏

    我有一个 Vue js 应用程序 目前我使用不同的页面渲染它 我遇到了一个问题 当我第一次登录时 它只会渲染单个主要组件 即根据 vue 路由器的页面 我正在寻找一种方法来运行我的登录功能 然后转到 dashboard但我希望它重新渲染我的
  • 选择最高薪水

    假设工资表 name lowhours highhours wage Default 0 0 40 0 100 Default 40 0 50 0 150 Default 50 0 70 5 154 Default 70 5 100 0 2