按“计数(列不为空)”排序

2024-04-27

我正在寻找一种方法,通过值不为空的列的计数来对 MySQL 结果进行排序。所以,

[id] [1] [1] [0] [1] [1] = 4

[id] [0] [1] [1] [1] [0] = 3

[id] [0] [0] [0] [1] [1] = 2

[id] [1] [0] [0] [0] [0] = 1

在上面的例子中,我忽略了 ID 列,但实际上我不在乎。 ID 始终不为 NULL,因此将其添加到计数不会改变结果。

任何人对此有任何想法,不涉及将结果解析为新数组吗?我试图将处理部分保留在数据库级别。


ORDER BY IF(`a` IS NULL, 0, 1) + IF(`b` IS NULL, 0, 1) ... DESC

Where a, b, ... 是字段的名称(是的,您需要手动枚举它们)

PS:如果你不知道两者之间的区别0 and NULL this:

ORDER BY `a` + `b` ... DESC

对你来说就足够了

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

按“计数(列不为空)”排序 的相关文章

  • 如何在 WHERE 子句中最佳地使用 COALESCE() ?

    这是我的查询 select coalesce qa2 subject qa subject as question subject qa body select count from viewed items vi where coales
  • MYSQL中如何获取不带小数的列值

    我的 mysql 表中有两列A and B我正在获取这样的记录 select A B from table 但问题是上面的查询提供了类似这样的值 12 00 3 4 78 9 但我想得到这样的结果 12 3 78 我将使用哪个 MySQL
  • “错误 1406:1406:数据对于列来说太长”,但它不应该如此?

    我有以下表结构 DROP TABLE IF EXISTS tblusers 40101 SET saved cs client character set client 40101 SET character set client utf8
  • 应用程序在 JSON jparser 发出 http 请求时崩溃

    您好 我使用本教程连接到网络或本地的 mySQL 数据库 here http www androidhive info 2012 05 how to connect android with php mysql 虽然所有服务器端 php 文
  • 是否可以使用不在 GROUP BY 中的 ORDER BY 列?

    正如标题所说 这是我的代码 SELECT material SUM Amount AS Amount RIGHT CONVERT varchar 50 date in 106 8 FROM rec stats GROUP BY materi
  • 如何对变量使用 GRANT?

    我在 MySql 中使用 GRANT 和变量时遇到一些麻烦 SET username user123 pass pass123 GRANT USAGE ON TO username IDENTIFIED BY pass GRANT INSE
  • 如何在MySQL中选择字段具有最小值的数据?

    我想从 MySQL 中的表中选择特定字段具有最小值的数据 我尝试过 SELECT FROM pieces WHERE MIN price 请问有什么帮助吗 这将为您提供所有记录中价格最低的结果 SELECT FROM pieces WHER
  • 使用 avg 和 group by 进行 SQL 查询

    我在为 MySQL 编写 SQL 查询时遇到一些问题 我有一个具有以下结构的表 mysql gt select id pass val from data r1 limit 10 id pass val DA02959106 5 00000
  • mysqli_query() 需要至少 2 个参数,其中 1 个参数在? [复制]

    这个问题在这里已经有答案了 每次运行这个 php ini 时 我都会遇到同样的 3 个错误 我不知道我做错了什么 有人可以帮忙吗 以下是错误 2014 年 5 月 5 日 19 20 50 美洲 芝加哥 PHP 警告 mysqli quer
  • Dapper MySQL 返回值

    我在 ASP net Identity 项目中使用 dapper 和 MySql 时遇到问题 我想将用户插入到表 users 中 并希望从这次插入中返回自动生成的 id 但我收到语法错误 我不知道为什么 这是我的方法插入代码 public
  • LOAD DATA LOCAL INFILE 给出错误:此 MySQL 版本不允许使用命令

    我有一个调用 MySQL 的 PHP 脚本LOAD DATA INFILE从 CSV 文件加载数据 但是 在生产服务器上 我最终遇到了以下错误 用户访问被拒绝 使用密码 是 作为快速解决方法 我将命令更改为LOAD DATA LOCAL I
  • 如何防止mysql隐式提交

    mysql文档 http dev mysql com doc refman 5 5 en implicit commit html指出某些语句将在事务期间导致隐式提交 例如 CREATE TABLE foo bar INT START TR
  • 如何像mysql一样对数组进行排序

    如何对与数据库数据相同的数组进行排序 我请求谷歌分析数据 数据是一个大数组 我想将数组与本地数据库中的一些其他字段连接起来 然后我再次扩展大数组 现在我想对大数组进行排序 这与使用我的 sql 相同 如下所示 select from ga
  • MySQL 中两个 Select 查询的结果相减

    我编写了两个 mysql 查询 一个获取一年中特定月份的总用户 注册 另一个获取一年中特定月份的活跃用户 我需要找到数量inactive当年的用户 为此 我正在考虑减去通过两个单独的查询获得的总用户数和活动用户列 以下是查询 1 Fetch
  • 从MySQL php中的特定列获取最大ID和最小ID

    我是新来的php现在尝试从中检索数据MySQL到安卓 这是我的工作细节 table In 检索总小时数函数 我想检索最短 ID 时间 and 最大 ID 超时 from MySQL到安卓通过php最后使用下面的代码来获取总小时数 假设 ID
  • 拥有两张单独的用户表还是一张更好?

    我的网络应用程序将拥有两种 100 不同的用户 领域 功能和网站目的 一类用户的目的是发布博客 另一类用户的目的是阅读博客并 关注 发布者 他们唯一的共同点是需要 ID 电子邮件 密码和其他一些元数据 例如加入日期等 我应该尝试将它们从同一
  • Python 字符串到 SQL IN 参数的列表

    我在 python 中有这个查询 ssim group S1200 S1300 query select WIPMessageCnt from waferdata where recipename in s and equipment an
  • H2数据库排序规则:选择什么?

    经过大量阅读和实验后 似乎我想要主要的搜索强度 但第三或相同的排序强度 主要问题 用 H2 或任何其他数据库 可以实现吗 第二个问题 我是这里唯一的人吗 或者你们中有人也喜欢上述组合吗 一些确认会对我的理智有所帮助 背景 看来排序规则只能在
  • SSL 连接在 MySQL Workbench 中有效,但在 DBeaver 中无效

    为当今读者编辑 这是旧版本 DBeaver 中的一个错误 随后已修复 我尝试在 DBeaver 中使用 SSL 连接到 Google Cloud SQL MySQL 实例时遇到 访问被拒绝 错误 我能够 在 MySQL Workbench
  • MySQL 不将 ı 视为 i?

    我在 MySQL 5 7 27 中有一个用户表utf8mb4 unicode ci整理 不幸的是 没有像 i 那样进行线程化 以下查询将找不到Y lmaz select id from users where name Yilmaz 我对其

随机推荐