SQLite3 获取最小可用ID,ID无需包含1

2023-11-20


一、语法

获取1 到 500 范围间的最小可用ID :

select 
CASE 
WHEN (select 1 from mytable where exists(select myID from mytable where myID=1))
THEN min(myID)+1
ELSE min(0)+1
END
from mytable t where not exists (select myIDfrom mytable where myID=t.myID+1) 
AND myID>0 AND myID+1 < 500 
order by myID

二、解析

1. 判断最小ID是否为1

CASE 
-- 查表是否存在 ID为1的数据记录
WHEN (select 1 from mytable where exists(select myID from mytable where myID=1))
-- 存在,使用当前最小的ID
THEN min(myID)+1
-- 不存在,使用1
ELSE min(0)+1
END

2. 判断最小ID递增后是否存在

-- 比较ID+1之后是否存在
select min(myID)+1 from mytable t where not exists (select myIDfrom mytable where myID=t.myID+1) 

3. 范围限定

-- 限定范围,从1 到 500(不含)
AND myID>0 AND myID+1 < 500 
-- 排序,可省略
order by myID

三、总结

SQLite的语法和其他SQL数据库稍有差别,对于复杂的SQL语句倒也能支持,但没有测试过性能损耗。

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

SQLite3 获取最小可用ID,ID无需包含1 的相关文章

  • hive sql查找最新记录

    该表是 create table test id string name string age string modified string 像这样的数据 id name age modifed 1 a 10 2011 11 11 11 1
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • 如何用约束标记一大组“传递群”?

    在 NealB解决方案之后进行编辑 与以下解决方案相比 NealB的解决方案非常非常快任何另一个 https stackoverflow com q 18033115 answers and 提出了关于 添加约束以提高性能 的新问题 Nea
  • Oracle SQL 函数中可以有 commit 语句吗

    在 SQL 函数中使用 COMMIT 语句是否可能 有意义 从技术上来说 答案是肯定的 你can请执行下列操作 create or replace function committest return number as begin upd
  • SQL - 需要查找重复记录但排除反向事务

    我有一张交易表 偶尔会有 重复条目 如果 当管理员发现这些重复条目时 他们将撤销交易 从而创建负值 但由于监管要求 原始重复条目仍然保留 我想创建一个 SQL 查询 并使用 Crystal Reports 来制作报告 以便管理员轻松查找重复
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 使用来自另一个数据库的选择查询更新 mysql 表

    我有两个数据库 我想用另一个数据库表中的值更新一个表 我正在使用以下查询 但它不起作用 UPDATE database1 table1 SET field2 database2 table1 field2 WHERE database1 t
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不
  • 从 call_log 中获取最大并发通话数

    我需要帮助在 MySQL 5 0 77 中编写一个查询 根据下面所示的数据 办公室一天的通话量 返回并发电话呼叫的峰值数量 我只是想知道一天中任何特定时间同时打电话的人数最多是多少 首先 这是 MySQL 表 CREATE TABLE ca
  • meta_query,如何使用关系 OR 和 AND 进行搜索?

    已解决 请参阅下面的答案 我有一个名为的自定义帖子类型BOOKS 它有几个自定义字段 名称为 TITLE AUTHOR GENRE RATING 我该如何修复我的meta query下面的代码以便仅books在自定义字段中包含搜索词 tit
  • 接近语法错误(代码1)插入Android SQLite

    我正在创建一个通讯录应用程序 用户可以在其中输入姓名 电子邮件地址和号码 我希望将此数据保存在数据库中 但我似乎无法使插入方法起作用 我收到的错误是 android database sqlite SQLiteException near
  • SQL:如何从一个表中获取另一个表中每一行的随机行数

    我有两个数据不相关的表 对于表 A 中的每一行 我想要例如表 B 中的 3 个随机行 使用光标这相当容易 但速度非常慢 那么我该如何用单个语句来表达这一点以避免 RBAR 呢 要获得 0 到 N 1 之间的随机数 可以使用 abs chec
  • Ruby ActiveRecord 和 sql 元组支持

    ActiveRecord 是否支持 where 子句中的元组 假设底层数据库支持 结果 where 子句看起来像这样 where name address in John 123 Main St I tried Person where n
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • SQLite 仅当值不为空时更新列

    Query UPDATE item table SET field1 field1 spanish field2 field2 spanish 问题 我怎样才能更新field1 with field1 spanish ONLY if fie
  • 具有不同组合的产品和产品包的数据库模型

    您将如何设计数据库来实现此功能 考虑一个场景 我们想要创建一个产品关系 封装 假设我们创建一个产品表 prod id prod name prod fee 1 prepaid A 19 usd 2 prepaid B 29 usd 3 pr
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI

随机推荐

  • (C语言)输出数组的最大值及其对应下标的最小值

    本题源自pintia cn 题目要求 代码 测试结果图 PTA测试结果 题目要求 本题要求编写程序 找出给定的n个数中的最大值及其对应的最小下标 下标从0开始 输入格式 输入在第一行中给出一个正整数n 1
  • 为什么学完Python后的薪资这么高?

    人工智能和大数据概念的兴起 带动了Python的快速增长 Python语言逻辑简洁 入门简单 生态丰富 几乎成为几个新兴领域的不二选择 而除了这两个领域 Python还有更多的适用领域 爬虫 web 自动化运维等领域都非常适合Python发
  • 详细的Python Flask的操作

    本篇文章是Python Flask 建站框架入门课程 编程实战微课 w3cschool微课的学习笔记 根据课程整理而来 本人使用版本如下 Python 3 10 0 Flask 2 2 2 简介 Flask是一个轻量级的可定制的web框架
  • 推荐|5种商业AI产品的技术架构设计!

    来源 达观数据 概要 今天我们就特别推荐达观数据的几个商业产品设计技术架构 希望对于广大技术有帮助 做任何一个商业产品设计 技术架构都是首先要考虑的 特别是面对海量数据的AI商业项目更是如此 今天我们就特别推荐达观数据的几个商业产品设计技术
  • Vue中key

    相信很多小伙伴跟我一样在使用v for的时候对key值的存在和必要性有疑问 通过ESlint进行代码检查的时候不加上key还会报错 想知道key为什么存在可以先想想key为什么产生 会不会是尤雨溪灵光一闪就给Vue添加上了key 也有可能
  • 大数据简介

    预备篇 目录 知识 大数据简介 计算机单位 大数据的五个 v Hadoop Hadoop概述 Hadoop的历史 Hadoop三大发行版本 1 Apache Hadoop 2 Cloudera Hadoop 3 Hortonworks Ha
  • 野外偷拍_野外紧急设计

    关于本系列 本系列文章旨在为人们经常讨论但难以捉摸的软件体系结构和设计概念提供新的视角 通过具体的示例 尼尔 福特为您提供了进化架构和紧急设计的敏捷实践的坚实基础 通过将重要的架构和设计决策推迟到最后一个负责任的时刻 可以防止不必要的复杂性
  • 武汉大学空间智能化处理复习

    空间数据处理智能化的重要性 提高地理信息处理的效率 减轻人在地理信息处理中的劳动量 使一般的地理信息用户也能让专家一样解决问题 大型的空间决策服务需要归纳 分析多种方案 智能化处理方法的来源 常常来自于人工智能学科的研究成果 如 知识工程
  • CTK框架介绍和环境搭建

    CTK框架介绍和环境搭建 概述 本人第一次接触CTK的时候是看的一去 二三里大佬的博客 CTK框架实际应用比较可靠 但网上资料很少 官网提供的API链接也已经无法打开了 目前还没有找到很好的官方的使用介绍 网上目前找到的CTK的介绍或者是博
  • Sklearn笔记--逻辑回归调参指南

    1 逻辑回归概述 p y
  • 建站记录2-CSS文件未加载-已解决-Resource interpreted as Stylesheet but transferred with MIME type text/plain

    网站链接 http 139 199 169 122 在本地加载正常 上传到服务器之后 网页没有样式 10 最终正确方案 重装了服务器系统 在别人的服务器上传同样的文件 发现正确 问题锁定在服务器设置中 找研究后端的马同学检查配置 发现是少了
  • python---collections模块

    目录 namedtuple 具名元组 deque 双端队列 OrderedDict 有序字典 defaultdict 默认值字典 Counter 计数 在内置数据类型 dict list set tuple 的基础上 collections
  • 差分数组及应用

    差分数组是啥 我也不是很清楚 大概就是一个数组吧 b战上有很多讲解的视频 我写下我学到的 差分数组就是 原本有个数组 然后你要修改某个区间的数值 正常人会想到遍历去修改 这是没错的 但吃力不讨好 用差分数组可以很快搞定 例如 有一个全为0的
  • CrimeKgAssitant-master的案件分类模块思路整理(多标签分类模型)

    根据liuhuanyong模型改动 尝试推广到其它领域 原始模型连接 GitHub liuhuanyong CrimeKgAssitant Crime assistant including crime type prediction an
  • TOOLS_Pandas根据日期列进行分组统计及绘图的使用示例

    Pandas根据日期列进行分组统计及绘图的使用示例 导入所需要的库 coding utf 8 from logging import warning import os sys import datetime import numpy as
  • linux端口被占用,netstat查看无进程号,端口状态一直停留在FIN_WAIT1以及CLOSE_WAIT状态

    环境信息 CentOS 6 5 现象 同事启动程序发现端口被占用 netstat查看之后发现如下现象 发现端口处于FIN WAIT1状态以及CLOSE WAIT状态 无法释放 问题分析 FIN WAIT1以及CLOSE WAIT状态的原理以
  • 如何通过电脑向ipad传电影视频(不用越狱)

    前言 为了能在ipad上看电脑上已下载的电影 我可是试了各种方法 心好累 还好终于解决了 不得不说 网上没一个靠谱的答案 方法一 如果电影本身的格式是 mp4 mov m4a格式 通过官方的itunes软件 直接导入媒体库 然后在ipad上
  • 聚宽源码17

    原文策略源码如下 导入函数库 from jqdata import import talib from math import isnan def initialize context 设置参数 set parameter context
  • React实现关键字高亮

    先看效果 实现很简单通过以下这个函数 highLight text keyword gt return text split keyword flatMap str gt span keyword span str slice 1 展示某段
  • SQLite3 获取最小可用ID,ID无需包含1

    SQLite3 获取最小可用ID ID无需包含1 一 语法 二 解析 1 判断最小ID是否为1 2 判断最小ID递增后是否存在 3 范围限定 三 总结 一 语法 获取1 到 500 范围间的最小可用ID select CASE WHEN s