【问题标题】:Perform logic operations with MySQL query使用 MySQL 查询执行逻辑操作
【发布时间】:2021-03-08 09:36:36
【问题描述】:

让我们以这个带有二进制时间序列的表为例

date  | name | val
25/11 |   A  | 0
24/11 |   B  | 1
22/11 |   C  | 1
21/11 |   A  | 1
21/11 |   B  | 0
 etc .....

绘制为信号,它会是这样的:

执行或操作 = A ||乙 || C

             ______         ____
A       _____|    |________|      

        ______         _________
B       |    |________|         

         ______     ___________
C       _|    |_____|         |_

-----------------------------    
        __________   ___________
result            |_|

为了简单起见,假设日期是同步的

是否可以直接用 MySQL 查询进行逻辑操作以避免循环?

【问题讨论】:

    标签: mysql sql time-series logical-operators


    【解决方案1】:

    这是max()

    select date, max(val)
    from t
    group by date;
    

    请注意,“and”是min()

    【讨论】:

    • 好把戏!,对“一般逻辑运算”无效,但在这里非常有用
    • 如果您想要其他操作,您可能必须使用CASE ... WHEN 并列出您的所有组合
    猜你喜欢
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    • 2020-05-30
    • 2018-07-14
    相关资源
    最近更新 更多