我正在使用两列userfrom
和userto
将mysql中的行分组。我只需选择a和b之间的一条对话消息。下面的查询正是我想要的,但是我想将其部署到android sqlite查询中,但是sqlite只接受CASE Condition函数。
SELECT * FROM messeages WHERE userfrom='a' OR userto='a'
group by
IF(userfrom > userto, userfrom,userto),
IF(userfrom > userto, userto,userfrom)
有人可以帮助使用CASE Condition函数进行翻译。
最佳答案
documentation记录了它是如何工作的:
GROUP BY CASE WHEN userfrom > userto THEN userfrom ELSE userto END,
CASE WHEN userfrom > userto THEN userto ELSE userfrom END;
但是,在这种情况下,您可以简单地使用min() / max()的非聚合形式:
GROUP BY max(userfrom, userto),
min(userfrom, userto);
关于android - 使用CASE Condition函数对多列进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47285948/