【发布时间】:2015-11-29 18:39:18
【问题描述】:
我有这个 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 是否等于给定参数,如果为 true,则在另一列中返回 0 或 1,如果为 false,则返回 0
我期望的结果是:
+---------------------+-------------------
| gpio_lastevent |gpio_latestevent_true
+---------------------+-------------------
| 2015-11-29 17:28:47 |1
+---------------------+-------------------
我认为这很简单,但我不知道如何进行查询。 感谢您的帮助
【问题讨论】:
-
这里需要更多信息。输入参数是什么?是
gpio_lastevent时间戳还是gpio_id值?您的两个示例有点不一致,因为您希望在相等时返回1,否则返回0,但是联合查询返回的行是不相等的 - 我们希望您期望的结果是0对于这些值,对吗? -
gpio_id 只是输入参数,它总是整数。 gpio_lastevent 已经在数据库中。结果应包含给定 gpio_id 的 gpio_lastevent 时间戳,以及该时间戳是否为 MAX 个的信息。我实际上是在搜索给出一个输入值的两个信息。