Sql 如何按时间顺序检索句子数据?
我有一个存储客户与服务代理聊天数据的表。它有以下列:Sql 如何按时间顺序检索句子数据?,sql,postgresql,Sql,Postgresql,我有一个存储客户与服务代理聊天数据的表。它有以下列: 客户id、聊天日期、聊天id、句子id、时间戳 客户可以有多个记录,chat\u id是会话的父分组,句子id组成会话的每个句子(因此chat\u id将有多个句子id)。timestamp是会话中的句子被发送的时间-因此同一聊天id的不同句子id将具有不同的时间戳(为了精确起见,让我们假设它下降到第二个) 我如何查询此信息以获得正确的对话顺序 这是按语句类型划分的分区吗 有人能告诉我正确的语法吗 更新: 我想要以下表格类型的结果: ----
客户id、聊天日期、聊天id、句子id、时间戳
客户可以有多个记录,chat\u id
是会话的父分组,句子id
组成会话的每个句子(因此chat\u id
将有多个句子id
)。timestamp是会话中的句子被发送的时间-因此同一聊天id的不同句子id将具有不同的时间戳(为了精确起见,让我们假设它下降到第二个)
--------------------------------------------------
|customer_id|chat_id|sentence_id|timestamp |
--------------------------------------------------
|123 |ABC |1 |01-01-2009 6:00:01
--------------------------------------------------
|123 |ABC |20 |01-01-2009 6:00:02
--------------------------------------------------
|123 |ABC |10 |01-01-2009 6:00:03
--------------------------------------------------
|123 |ABC |5 |01-01-2009 6:00:04
--------------------------------------------------
如果
时间戳
记录正确,您可能可以执行以下操作:
create table conversations as
select * from chat_raw_data
order by customer_id, chat_id, timestamp;
请以表格形式提供样本数据和所需结果。
句子id
是序列吗?是句子的时间戳、聊天记录还是记录?你的问题不太清楚。请添加几行样本数据和预期结果。@blurfus我更新了它。时间戳是针对句子id的,每个句子id汇总到一个父聊天室id时间戳是有序的,但句子id是非顺序的。因此,请尝试我提供的第一个代码,再问一个问题……如果句子id是顺序的,但有文本怎么办。例如,类似于:message-1-1、message-1-2、message 2-1等…在您更新问题后更新了我的答案可能按时间戳排序也会按句子id排序。您还可以按字母顺序排列字符串。您可以将句子_id添加到订单列表的末尾以确保