- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个用户发送消息的平台。群组对话是可能的。
我的 thread_members 表:
id | user_id | thread_id
-------------------------
1 | 1 | 1
-------------------------
2 | 2 | 1
-------------------------
3 | 1 | 2
-------------------------
4 | 2 | 2
-------------------------
5 | 3 | 2
-------------------------
6 | 1 | 3
-------------------------
7 | 3 | 3
-------------------------
8 | 4 | 3
当我发送消息时,我想检查这个线程是否已经存在。
假设:user_id '1' 向 user_id '2' 发送消息
结果应该是thread_id '1'
应该是单个查询
感谢大家,但我想我得到了答案:到目前为止,我没有遇到任何问题...
在 PHP 中:
$senderId = $_POST['sender']; // integer
$receiverIds = $_POST['receivers']; // array
$query = "SELECT thread_members.*, COUNT(*)
FROM thread_members
JOIN (
SELECT *, COUNT(*)
FROM (
SELECT *
FROM thread_members
WHERE user_id = " . $senderId . " ";
foreach ($receiverIds as $receiverId)
{
$query .= " OR user_id = " . $receiverId . " ";
}
$query .= " ) AS thread_members
GROUP BY thread_id
HAVING COUNT(*) = " . (count($receiverIds) + 1) . "
ORDER BY COUNT(*)
) AS thread_members_copy ON thread_members.thread_id = thread_members_copy.thread_id
GROUP BY thread_members.thread_id
HAVING COUNT(*) = " . (count($receiverIds) + 1) . "
ORDER BY COUNT(*) ";
(count($receiverIds) + 1)
都是接收者+发送者
最佳答案
给你:
void Main()
{
var data = new List<Tuple<int, int, int>>{
new Tuple<int,int,int>(1,1,1),
new Tuple<int,int,int>(2,2,1),
new Tuple<int,int,int>(3,1,2),
new Tuple<int,int,int>(4,2,2),
new Tuple<int,int,int>(5,3,2),
new Tuple<int,int,int>(6,1,3),
new Tuple<int,int,int>(7,3,3),
new Tuple<int,int,int>(8,4,3),
};
var users = data.Select(x => x.Item2).Distinct();
foreach(var user in users){
var threads = data.Where(x => x.Item2 == user).Select(x => x.Item3);
foreach(var thread in threads){
var counterParties = data.Where(x => x.Item3 == thread && x.Item2 != user)
.Select(x => x.Item2);
foreach(var party in counterParties)
Console.WriteLine("user {0} send thread {1} user {2}", user, thread, party);
}
}
}
结果:
用户 1 发送线程 1 用户 2
用户 1 发送线程 2 用户 2
用户 1 发送线程 2 用户 3
用户 1 发送线程 3 用户 3
用户 1 发送线程 3 用户 4
用户 2 发送线程 1 用户 1
用户 2 发送线程 2 用户 1
用户 2 发送线程 2 用户 3
用户 3 发送线程 2 用户 1
用户 3 发送线程 2 用户 2
用户 3 发送线程 3 用户 1
用户 3 发送线程 3 用户 4
用户 4 发送线程 3 用户 1
用户 4 发送线程 3 用户 3
希望这对您有所帮助。
关于mysql - 检查线程是否已存在于群组对话中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31428228/
我能想到的最好的标题,但要澄清的是,情况是这样的: 我正在开发一种类似短 url 的服务,该服务允许用户使用他们的 Twitter 帐户“登录”并发布内容。现在这项服务可以包含在 Tweetdeck
我正在开发一个应用程序,我需要用户使用类似聊天的系统相互交互。 为此,我想创建一个对话模型。据我所知,我将使用多对多关系。 具有以下模型:Conversation、User 和 Message,我想象
我试图在一个页面上多次实现 jquery 对话框 - 基本上,我想在用户单击某个人的名字时显示有关该人的更多信息。 我正在使用 php 生成页面。 我尝试这样做,并使其部分工作,但我只能使页面上的第一
我制作了一个 CustomTypeDialog 类,我想要的是使用不在 Activity 布局中的 EditText。当我尝试单击其中一个按钮时出现空指针异常,我认为这是因为它们不在 Activity
我有这个程序,我想知道如何继续它。我想让用户在“发生了什么”之后输入更多文本,然后让程序响应。感谢您的帮助 int main() { cout > answer; switch(an
我目前正在开发一个由 javafx ui 支持的 java 游戏。 玩家。应该可以和npc对话,这没问题。但我想要一定的文字效果。就像在 polemon 游戏或 Undertale 中一样,文本会逐个
所以基本上我正在尝试重写一个 bash 脚本,该脚本使用对话框 --radiolist 来选择区域设置、键盘、时间。目前,标签是与本地对应的数字(我为它创建了一个哈希表)。但因为我有大约 100 个语
有人可以告诉我如何使用 Watson Conversation 和其他服务(例如 Twilio)调用实时电话并进行对话吗? 我可以使用 Watson Conversation、Twilio 和 Nod
我有一个包含几个 .txt 文件的目录。让我们说 hi.txt hello.txt hello_test.txt test.txt 在 VBA 中使用文件对话框,如何过滤以在下拉列表中仅显示“*tes
我有一个 session 范围的 bean,ComponenteM,它被注入(inject)到请求范围的 bean,ComponenteC 中。 @Named @RequestScoped publi
我需要收集推文“集”,即用于我的研究的推特对话; 这些集合还需要满足以下条件 其中的推文数量,以及 参与人数。 我研究过 Twitter Streaming API、twitter-stream ge
我想在用户 Lync 客户端中打开一个新对话,其中包含预先确定的消息文本,但消息的收件人由用户选择,此过程从用户单击网站。 这可能吗? 最佳答案 这里的部分问题是,如果不知道要与谁开始对话(如果有意义
在 JBoss AS7 中工作,使用 Conversation Scope 管理浏览器选项卡中的用户交互。 我注意到我的页面附加了 ?cid 参数。这很棒 - 直到用户为页面添加书签然后尝试返回它!对
本地和远程标记以及Call-ID的组合用于识别对话。据说Call-ID是一次调用的唯一值。那么为什么 Call-ID 不单独用于识别对话呢? 最佳答案 一句话:“发夹”。 “Hairpinning”是
除了这行不通之外,这里没什么好说的,我不知道为什么。 Arduino 上的串行输出什么也没有。 C# 代码的输出变为等待响应,然后什么也没有。 当我启动 C# 程序时,Arduino 上的蓝牙卡 LE
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
目前正在开发一个应用程序,它甚至可以与 Android 2.2 一起使用,我使用支持库及其 AppCompat 主题来设计我的 UI。尽管大部分 UI 工作正常,但我有一个带有自定义布局的 Alert
我正在尝试对 MySQL 表 I 进行类似对话的输出,如下所示: Content From To Date Lorem
我已经创建了消息系统,在 messages.php 上我想显示消息对话,应该显示最后一条消息,但不知道查询,因为我是 php 新手,这里是数据库信息 table:conversation_chat
在那里,这是我的代码结构: 主要 Activity : public class PureDataActivity extends Activity { private TextView st
我是一名优秀的程序员,十分优秀!