选择条件

时间:2013-07-21 21:26:58

标签: mysql conditional-statements

我需要一些有关条件选择的帮助,现在我正在这样做:

                GROUP_CONCAT(
                    CASE WHEN glpi_tickets.users_id_lastupdater = glpi_users.id THEN
                        CONCAT(glpi_users.firstname, ' ', glpi_users.realname) 
                    END SEPARATOR '<br>') AS last_updater

当users_id_lastupdater = id

时,我选择firstname和realname

我想有更好的方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

group_concat似乎有点矫枉过正。您可以使用max()

max(CASE WHEN glpi_tickets.users_id_lastupdater = glpi_users.id
         THEN CONCAT(glpi_users.firstname, ' ', glpi_users.realname) 
    END) AS last_updater

不需要分隔符,因为它不仅用于一个元素。

编辑:

max()函数获取参数的最大值。在这种情况下,由于case,它是有条件的。如果不满足条件,则值为NULL(无else子句)。因此,它在满足条件时检索值。如果多行匹配条件,则检索最大值。