MYSQL枚举:@rownum,奇偶记录

2024-04-29

我问了一个关于为查询结果创建临时/虚拟 ID 的问题,mysql 和 php:查询结果的临时/虚拟 ID? https://stackoverflow.com/questions/4063998/mysql-php-temporary-virtual-ids-for-query-results/4064066#4064066

我几乎通过这个链接得到了我想要的,http://craftycodeblog.com/2010/09/13/rownum-simulation-with-mysql/ http://craftycodeblog.com/2010/09/13/rownum-simulation-with-mysql/

我已经设法枚举每一行,

SELECT 
u.pg_id AS ID, 
u.pg_url AS URL,
u.pg_title AS Title,
u.pg_content_1 AS Content,
@rownum:=@rownum+1 AS rownum

FROM (
    SELECT pg_id, pg_url,pg_title,pg_content_1
    FROM root_pages

    WHERE root_pages.parent_id = '7'
    AND root_pages.pg_id != '7'
    AND root_pages.pg_cat_id = '2'
    AND root_pages.pg_hide != '1'

    ORDER BY pg_created DESC
) u,

(SELECT @rownum:=0) r

result,

ID  URL     Title   Content     rownum
53  a       x       x           1
52  b       x       x           2
43  c       x       x           3
41  d       x       x           4

但我怎样才能进一步处理它 - 我想只显示奇数或偶数记录,如下所示 - 有可能吗?

奇怪的记录,

ID  URL     Title   Content     rownum
53  a       x       x           1
43  c       x       x           3

甚至记录,

ID  URL     Title   Content     rownum
52  b       x       x           2
41  d       x       x           4

谢谢。

附注尽管我几乎得到了答案,但实际上我不太理解sql查询,例如,“u”和“t”是什么意思?


“u”和“t”是什么意思?

它们是表别名,因此在需要引用时不必指定表的完整名称。

要仅获取奇数记录,请使用:

SELECT x.*
  FROM (SELECT u.pg_id AS ID, 
               u.pg_url AS URL,
               u.pg_title AS Title,
               u.pg_content_1 AS Content,
               @rownum := @rownum + 1 AS rownum
          FROM root_pages u
          JOIN (SELECT @rownum := 0) r
         WHERE u.parent_id = '7'
           AND u.pg_id != '7'
           AND u.pg_cat_id = '2'
           AND u.pg_hide != '1'
      ORDER BY u.pg_created DESC) x
WHERE x.rownum % 2 != 0

要获取偶数记录,请使用:

SELECT x.*
  FROM (SELECT u.pg_id AS ID, 
               u.pg_url AS URL,
               u.pg_title AS Title,
               u.pg_content_1 AS Content,
               @rownum := @rownum + 1 AS rownum
          FROM root_pages u
          JOIN (SELECT @rownum := 0) r
         WHERE u.parent_id = '7'
           AND u.pg_id != '7'
           AND u.pg_cat_id = '2'
           AND u.pg_hide != '1'
      ORDER BY u.pg_created DESC) x
WHERE x.rownum % 2 = 0

解释

The %是 MySQL 语法中的模运算符——它返回除法的余数。例如,1 % 2 是 0.5,而 2 % 2 是零。然后在 WHERE 子句中使用它来过滤显示的行。

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

MYSQL枚举:@rownum,奇偶记录 的相关文章

随机推荐

  • 从 ASP.NET Core 2.1 应用程序中删除“Server”标头

    是否可以删除ServerASP NET Core 2 1 应用程序中的响应标头 在带有 IIS 10 的 Server 2016 上运行 我尝试将以下内容放入 web config 中
  • 线程/进程/任务之间有什么区别?

    线程 进程 任务之间有什么区别 Process 进程是正在执行的计算机程序的实例 它包含程序代码及其当前活动 根据操作系统 OS 进程可能由同时执行指令的多个执行线程组成 基于进程的多任务处理使您能够在使用文本编辑器的同时运行 Java 编
  • [“03C0”]如何匹配附件P中的语法?

    我正在编写一个工具来使用 2005 年附录 P 中提供的语法来解析 Ada 源文件 通过下面的代码 我知道 03C0 代表 希腊字母Pi 但它是合法的变量名吗 01 package Ada Numerics is 02 Pi constan
  • 如何使我的滚动到顶部按钮动画流畅

    我的页面上有一个滚动到顶部按钮 但是当我单击它时 它不会滚动到顶部 它只是直接带我到顶部 就像我加载了一个新页面一样 但我需要的是滚动动画 javascript window onscroll function scrollFunction
  • 如何修复 iOS 11 和 macOS V10.12 Safari 上损坏的变换原点?

    我正在尝试使用 svg 来实现 CSS 动画 我期望 2 个 svg 盒子正在旋转 旋转 transform origin center center 360度 看起来它在 Chrome 和 Firefox 上的表现符合我的预期 但在 ma
  • 如何修复“致命:无法创建工作树目录'WSL-Distribution-Switcher':没有这样的文件或目录”

    我目前正在尝试在我的笔记本电脑上安装 kali linux 但我陷入了这个错误 请帮我解决这个问题 谢谢 i typed cd Desktop cd Test Blank folder in Desktop git clone https
  • 使用 ImportXml 在 Google Sheets 中抓取图像

    我正在使用 Google Sheets 尝试从房地产网站上抓取图像 以将其显示在单元格中以及房产详细信息旁边 我已经能够使用一个简单的示例证明这是可能的 但是当我尝试制定 xpath 查询来抓取我需要的特定图像时 我不断收到错误 作为一个工
  • 重定向时需要 SSL 吗?

    我从一位我不擅长的客户那里继承了一种奇怪的情况 该客户端有 3 个域名 主要域名是 例如domain a com 他们还将domain b com 和domain c com 重定向到domain a com 所有域都位于同一服务器上 所以
  • Robotium 和系统对话框

    当我尝试与蓝牙设备配对时 会出现带有 PIN 码的系统确认对话框 有 取消 和 确定 按钮 但我无法使用 Robotium 单击它们 如何在 Robotium 中使用 Android 操作系统对话框 谢谢 这对我有用 solo clickO
  • Google Analytics 测量协议不起作用

    我想跟踪在不同环境中运行的应用程序 音隙构建 节点 webkit 应用程序 website 为了对所有人使用一种跟踪机制 我认为使用 测量协议 https developers google com analytics devguides
  • 如何格式化数字? [复制]

    这个问题在这里已经有答案了 我想使用 JavaScript 格式化数字 例如 10 gt 10 00 100 gt 100 00 1000 gt 1 000 00 10000 gt 10 000 00 100000 gt 100 000 0
  • 拆分为不同的换行符

    现在我正在做一个split在字符串上并假设用户的换行符是 r n像这样 string split r n 我想做的事分为两部分 r n要不就 n 那么正则表达式将如何分割其中的任何一个呢 你试过了吗 r n The 使得 r选修的 用法示例
  • 删除一行中逗号之前的所有内容

    我有多个文件 其中包含以下行 foo 123456 bar 654321 baz 098765 我想删除每行逗号之前 包括 的所有内容 输出将是 123456 654321 098765 在另一个问题上看到类似的内容后 我尝试使用以下内容
  • Autofac:解决对命名实例的特定依赖关系

    使用 Autofac 我想注册一个组件并指定要解析为命名实例的特定依赖项 我使用构造函数注入找到了如下示例 这几乎就是我想要的 builder Register c gt new ObjectContainer ConnectionStri
  • Gradle:“克隆”原始 jar 任务,为包含依赖项的 jar 创建新任务

    我想在我的项目中创建一个新任务 该任务使用我的项目的类文件和依赖项的类文件 也称为 shaded jar 或 fat jar 创建一个 jar 存档 Gradle Cookbook 提出的解决方案修改了 JavaPlugin 的标准 jar
  • LINQ 表达式树 Any() 位于Where() 内

    我正在尝试生成以下 LINQ 查询 Query the database for all AdAccountAlerts that haven t had notifications sent out Then get the entity
  • App Engine、PIL 和叠加文本

    我正在尝试在 GAE 上的图像上覆盖一些文本 现在他们公开了 PIL 库 这应该不是问题 这就是我所拥有的 它有效 但我不禁认为我应该直接写入背景图像 而不是创建单独的覆盖图像然后合并 我可以用吗Image frombuffer http
  • mcrypt_crypt 的替代方案?

    根据 php 7 0 mcrypt decrypt 已被弃用 我有以下代码 intSize mcrypt get iv size MCRYPT RIJNDAEL 256 MCRYPT MODE ECB strSize mcrypt crea
  • Swift 中的 StrongLoop 环回示例

    我正在尝试在 Swift 中实现示例 LoopBack iOS 应用程序 创建 LoopBack iOS 应用程序 第 1 部分 http docs strongloop com display DOC Creating a LoopBac
  • MYSQL枚举:@rownum,奇偶记录

    我问了一个关于为查询结果创建临时 虚拟 ID 的问题 mysql 和 php 查询结果的临时 虚拟 ID https stackoverflow com questions 4063998 mysql php temporary virtu