android - Sqlite 不同查询 From -To、To - From

标签 android mysql sqlite android-sqlite

我有以下数据:
我= my_userid;

表:消息

消息 ID |消息来源 | message_to
1 |我|用户
2 |用户 |我

运行查询给出两行(SELECT DISTINCT message_from,message_to FROM Message WHERE message_from ='"+me+"' OR message_to ='"+me+"'");

使用 OR 因为我的 id 可以在 from(发送时)或 TO(当其他用户向我发送消息时)

-- 这会返回两行,但是我希望它返回一行,因为如果您切换到 - from 则会获得相同的 id,那么如何在查询中完成此操作。谢谢

最佳答案

您可以使用 min()max() 作为标量函数:

select distinct min(message_from, message_to) as m1, max(message_from, message_to) as m2
from message
where message_from ='"+me+"' OR message_to ='"+me+"'"

这些相当于其他数据库中的least()greatest()

关于android - Sqlite 不同查询 From -To、To - From,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26700753/

相关文章:

php - mysqli_query() 期望参数 1 为 mysqli,在/Applications/MAMP/htdocs/中给出的对象

mysql - 使用 Security::Cipher 将加密数据存储在数据库中

ios - 核心数据错误 SIGABRT : keypath AttributeName not found in entity <NSSQLEntity EntityName id=2>

javascript - 主键整数返回在查找时递增

java - JNI中如何释放返回的对象?

android - ProgressBar在第二次打开时没有重置为 "0"

android - 我如何在致命信号 11 之后使用 logcat 中的输出来找出我从 android native 代码中获取错误的位置?

java - 如何通过 Hibernate 逆向工程使用 Hibernate Tools 生成 "Single DB"的模型代码

sqlite - 你如何创建像图表/流程图这样的 sqlite 帮助?

android - 错误: failed to connect to camera service @ Android marshmallow