MIN()有条件吗?MySQL的

chr*_*don 4 mysql

所以我有一个包含几列的表,我正在做一个GROUP BY.除了获取其他列之外,我想在MIN()另一列时获取一列的值NULL.这是我到目前为止所拥有的:

表列:

id        INT(11) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
table2_id INT(11) UNSIGNED NOT NULL,
iteration INT(11) UNSIGNED,
timestamp INT(11) UNSIGNED NOT NULL
Run Code Online (Sandbox Code Playgroud)

SQL:

SELECT
    table2_id,
    COUNT(id) as total,
    COUNT(iteration) as completed,

    # I want the MIN(timestamp) but only when
    # iteration IS NULL
    MIN(timestamp) as next_incomplete
FROM
    table1
GROUP BY
    table2_id
Run Code Online (Sandbox Code Playgroud)

Ed *_*bbs 10

用于MIN表达式:

MIN(CASE WHEN iteration IS NULL THEN timestamp END) as next_incomplete
Run Code Online (Sandbox Code Playgroud)