gpt4 book ai didi

mysql - 如何通过从两列mysql中进行选择来进行1列查询

转载 作者:行者123 更新时间:2023-11-29 00:43:38 24 4
gpt4 key购买 nike

我有一个消息传递系统(非常基本),它有一个像这样的表:

**MESSAGE_ID**  **RUSER_ID**    **SUSER_ID**    **MESSAGE_DATA**    **DATE**

RUSER 是接收用户,SUSER 是发送用户。如果我想输出一个会输出特定用户消息的查询,我目前会这样做:

从 PRIVATE_MESG 中选择 *,其中 RUSER_ID=$USER_ID 或 SUSER_ID=$USER_ID

这将为我提供与该 USER_ID 关联的所有 message_id。我想要的是创建一个列,该列将仅生成与 RUSER_ID 关联的 ID 或与特定用户关联的 SUSER_ID。我需要它来选择 RUSER_ID 或 SUSER_ID 等于 USER_ID 的消息,但只显示不是 USER_ID

然后我想根据该查询的输出进行分组。

非常感谢任何帮助!

谢谢!

更新 我并不是真的在寻找 message_id,我只是在寻找一个用户列表,该用户已向其发送邮件或从其接收邮件。

更新顺便说一下,这个问题的答案我是完美收到的!我稍后对其进行了调整,以便它也可以按日期从最新到最旧显示它们。我通过使用 DATE() 和 TIME() 函数将 DATETIME 拆分为 DATE 和 TIME 来做到这一点。这是我的最终查询:

    SELECT
IF(RUSER_ID = $USER, SUSER_ID, RUSER_ID) as THE_OTHER_GUY, DATE(DATE) as DAY, TIME(DATE) as TIME
FROM PRIVATE_MESG
WHERE RUSER_ID = $USER
OR SUSER_ID = $USER;
group by THE_OTHER_GUY ORDER BY DAY DESC, TIME DESC

希望这对下一个人有帮助!

最佳答案

可以查询:

SELECT
*,
IF(RUSER_ID = $USER_ID, SUSER_ID, RUSER_ID) as THE_OTHER_GUY
FROM PRIVATE_MESG
WHERE RUSER_ID = $USER_ID
OR SUSER_ID = $USER_ID;

关于mysql - 如何通过从两列mysql中进行选择来进行1列查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com