mysql 查询比较 MAX 值和给定的参数,如果 max 等于给定的一,则返回 0 或 1

标签 mysql compare max

我有这个 UNION 查询

mysql> SELECT gpio_lastevent FROM `GPIO_setup` WHERE gpio_id = 5 UNION select max(gpio_lastevent) from GPIO_setup;

结果是:

+---------------------+
| gpio_lastevent      |
+---------------------+
| 2015-11-29 14:36:30 |
| 2015-11-29 17:28:47 |
+---------------------+

在 mysql 级别,我需要比较 MAX 是否等于给定参数,如果为真则在另一列中返回 0 或 1,如果为假则返回 0

我期望的结果是:

+---------------------+-------------------
| gpio_lastevent      |gpio_latestevent_true
+---------------------+-------------------
| 2015-11-29 17:28:47 |1
+---------------------+-------------------

我认为这很简单,但我不知道如何放置查询。 谢谢帮忙

最佳答案

一种方法是使用子查询:

SELECT
  gpio_lastevent,
  gpio_lastevent=max_lastevent
FROM
  `GPIO_setup` CROSS JOIN (SELECT MAX(gpio_lastevent) as max_lastevent
                           FROM GPIO_Setup) m
WHERE
  gpio_id = 5

在子查询上我得到最后一个事件,然后我将所有行加入这个子查询,然后如果当前事件是最后一个事件,则 gpio_lastevent=max_lastevent 将为 1,0否则。

关于mysql 查询比较 MAX 值和给定的参数,如果 max 等于给定的一,则返回 0 或 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986494/

相关文章:

Python嵌套字典比较算法

Java比较这个类和那个类是否相等

mysql - 按生日前的天数对用户排序

mysql - mysql中的存储过程变量

mysql - SQL 查询的 WHERE 子句中的 CASE 语句

python - 在Python中计算每行中特定列的接下来3行的最大值

filter - 如何获取 HBase 中的最大 rowkey?

MySQL 和 GROUP BY

bash - 将两个文件与各自的字段进行比较,并以特定格式输出

mysql - 限制主键的最大条目数