MySql 查询从表中找出前 50% 的记录

2023-12-14

我正在尝试从 MySQL 表用户获取前 50% 的记录。我知道我们可以使用 limit 或 top 来查找它们,但记录总数不固定,因此对 limit 或 top 中的实际数量进行硬编码并不能给出前 50% 的记录。我怎样才能实现这个目标?


如果您运行的是 MySQL 8.0,则可以使用窗口函数:ntile()完全符合您的要求。假设您的订购栏是id:

select *
from (select t.*, ntile(2) over(order by id) nt from mytable) t
where nt = 1

在早期版本中,一个选项是用户变量和与聚合查询的连接:

select *
from (
    select t.*, @rn := @rn + 1 rn
    fom (select * from mytable order by id) t
    cross join (select @rn := 0) x
    cross join (select count(*) cnt from mytable) c
) t
where rn <= cnt / 2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySql 查询从表中找出前 50% 的记录 的相关文章

  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • SQL Server 查询中 UNION ALL 与 OR 条件

    我必须根据表上不存在的条件选择一些行 如果我使用如下的 union all 它会在不到 1 秒的时间内执行 SELECT 1 FROM dummyTable WHERE NOT EXISTS SELECT 1 FROM TABLE t WH
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • 拥有更多列或更多行会更高效吗?

    我目前正在重新设计一个可能包含大量数据的数据库 我可以选择在数据库中包含许多不同的列或使用大量行 如果我在下面做一些大纲 可能会更容易 item id user id title description content category t
  • 使用 DISTINCT 进行查询需要很长时间

    我正在使用 Microsoft Access 2003 我的项目中的一个表单需要很长时间才能向用户显示 这是适用的查询 SELECT DISTINCT tb KonzeptDaten DFCC tb KonzeptDaten OBD Cod
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • MySQL如何获取unix时间戳的时间差

    我有一个保存值1506947452的变量 需要使用公式从该日期提取分钟 started data now date 但started date采用unix时间戳格式10位int数字 我以ajax形式收到并需要放入mysql查询i试试这个 S
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • 重用 t-sql 游标的起始位置?

    我正在开发一个在临时表上使用游标的存储过程 我已经阅读了一些关于为什么不需要游标的内容 但在这种情况下我相信我仍然需要使用游标 在我的过程中 我需要遍历表的行两次 声明游标后 已经单步执行临时表并关闭游标 重新打开时游标的位置是否仍保留在表
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join

随机推荐

  • PHP中相对路径还是绝对路径以及如何设置

    我正在开发一个网站 我正在尝试访问该网站的主目录 但我不知道如何进行设置 我想做的是包括 inc config php通过 inc config php而不必使用 inc config php有什么想法如何添加这个吗 一般来说 处理路径时需
  • OpenXML 从 Excel 创建数据表 - 货币单元格值不正确

    我正在尝试使用 OpenXML 从 Excel 电子表格创建数据表 使用 Cell CellValue innerXml 获取行的单元格值时 为用户输入的货币值返回的值 在电子表格上可见 与解释的值不同 电子表格单元格格式为文本 单元格值为
  • 在 iOS 10+ 中,有什么方法可以可靠地唤醒应用程序

    我已经这样做了三个多月了 我的头发都被拔掉了 所以请不要回复初学者的答案 我想知道 在 2017 年的 iOS 10 中 是否有任何方法可以将应用程序从终止状态唤醒 最好是通过蓝牙外围设备 但我会采取我能得到的 我认为终止的时间是用户在任务
  • 如何比较签名和未签名(并避免问题)

    最近我听说 C 中的有符号 无符号比较可能很棘手 例如 有符号 无符号比较还有其他一些问题 我的问题是 如果我们必须将有符号类型与无符号类型进行比较 例如 包括 gt 存在哪些策略可以避免这种比较产生的问题 或者我们应该确保我们总是只比较i
  • Magento 价格格式 - 2 或 3 位小数

    我需要将某些商品的价格设置为小数点后 3 位 我通过将 精度 变量更改为 3 来实现此目的 但这意味着网站上的每个价格都显示为小数点后 3 位 即 空购物车显示为 0 000 英镑 我只想在需要时显示小数点后第三位 但我不确定在代码库中哪里
  • 创建/追加节点与innerHTML

    有人有充分的理由使用其中一种而不是另一种吗 据我所知 创建 附加节点只是防止您创建无效代码 而innerHTML允许您一次注入多个节点 考虑到我需要插入几个标签 使用innerHTML似乎是有意义的 有人有不同的看法吗 这始终是一个有争议的
  • SaveMany 在 cakePHP 中同时更新多条记录不起作用

    我面临着使用 saveMany 同时更新多个记录的问题 我有如下关联 候选人hasMany候选人雇主 候选人雇主属于候选人 Candidate php 中的模型关联 public hasMany array CandidatesEmploy
  • 按顺序生成数字 Order

    我想生成由支票中输入的位置搜索的值 例如 如果输入 20 则函数应生成从 0 开始的数字 并继续按升序排列 直到创建 20 位数字 然后输出生成的数字字符串中第 20 位的值 01234567891011121314 即 4 我在下面尝试了
  • 主题已在云发布/订阅上创建,但无法创建该主题的监视

    我想在云发布 订阅主题上创建监视 但无法创建它 为此 我正在使用其余请求 request Req post url https www googleapis com gmail v1 users me watch headers conte
  • MapView Pin 注释的问题 - 当地图缩放/平移/区域更改时 Pin 会失去颜色

    我有一个显示现金点位置的地图视图 注释将被删除 并且可以单击标注以转到包含有关该位置的更多详细信息的页面 提款机分为免费和付费两类 免费提款机的针脚为绿色 另一种为红色 当别针掉落时 它们的颜色是正确的 一切正常 直到我缩放到用户位置或地图
  • 如何删除子列表

    如何从列表中删除所有出现的子列表 例如 List 1 2 3 4 5 6 7 4 8 9 10 5 removeSubList 4 5 应该删除所有出现的 4 5 按此顺序 因此它返回 List 1 2 3 6 7 4 8 9 10 5 使
  • 无法跨选项卡查看本地存储事件

    我正在尝试创建一个简单的概念验证 涉及在发生更改时使用 localStorage 在我的应用程序中触发选项卡 根据我看过的其他文章 我知道这是可能的 我明白the spec声明该事件将在每个页面上触发except我现在使用的那个 这实际上就
  • 视图始终执行 HTTP GET 而不是提交时发布

    我一直无法弄清楚为什么会发生这种情况 在我所在的每个简单视图上 当我单击提交按钮时 请求总是被路由回控制器并触发视图的 HTTPGET 方法 我什至尝试使用 POST 对表单标签进行硬编码 但它仍然发生 这似乎是某种路由问题 但我不确定下一
  • 如何从数据框中选择不匹配的行?

    我试图识别数据框中不匹配的值 但不知道如何执行此操作 make data frame a lt data frame x c 1 2 3 4 b lt data frame y c 1 2 3 4 5 6 select only value
  • Javascript 硬币兑换/找零算法

    所以我一直在尝试用 Javascript jQuery 创建一个程序 将一定数量的钱分成最小数量的美元钞票 到目前为止 该计划仅适用于一项法案 我不太确定如何实施其余法案 需要在正确的方向上推动 var bills 5 10 20 50 1
  • 如何强制一个类恰好具有给定属性之一

    我有一个 Person 类和一组数据属性 First Name Surname Gender DoB Country of Birth 数据属性的 Domains 设置为 Person 我想在我的本体论中建立一条规则 规定每个人must恰好
  • jquery 淡入回调不等待

    我试图让一个 div 淡出 然后让第二个 div 淡入其位置 但是第二个 div 淡出的回调似乎不会等待第一个 div 完成淡出 事实上它们都同时淡出时间提供交叉淡入淡出效果而不是淡出然后再淡出 继承人的代码 document ready
  • python脚本输出末尾的百分号[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 为什么 python 脚本的输出末尾有一个百分号 echo 测试测试 修剪测试一下 usr bin env python import sys if name main for lin
  • Django:重定向到上一页并保持滚动位置

    我见过this问题是您可以使用以下命令重定向到上一页 return HttpResponseRedirect request META get HTTP REFERER 但有没有办法也保持滚动位置呢 上面的内容重新加载页面 经过一番来回 这
  • MySql 查询从表中找出前 50% 的记录

    我正在尝试从 MySQL 表用户获取前 50 的记录 我知道我们可以使用 limit 或 top 来查找它们 但记录总数不固定 因此对 limit 或 top 中的实际数量进行硬编码并不能给出前 50 的记录 我怎样才能实现这个目标 如果您