如何确保仅在获得价值后才合并一个价值? 例如,消息是否已包含文本“ cat”,我如何使“ dog”不包含?
SELECT name, message,
concat(
if(message like '%cat%', 'cat', ''),
if(message like '%dog%', 'dog', ''),
) as intent
FROM table;
答案 0 :(得分:3)
使用CASE
表达式:
SELECT
name,
message,
CASE WHEN message LIKE '%cat%' THEN 'cat'
WHEN message LIKE '%dog%' THEN 'dog' END AS intent
FROM yourTable;
答案 1 :(得分:0)
您可以使用DISTINCT一次选择一个值,如下所示-
SELECT group_concat(DISTINCT N)
FROM
(
select 'Dog' N UNION ALL
SELECT 'CAT' UNION ALL
SELECT 'CAT'
)A