sql - 两个字段匹配时的 SQL 查询以计算行数
问题描述
我正在尝试查看当两个字段在多行中匹配时是否可以计算行数。我有一个聊天系统,将消息历史记录存储在 sql 数据库中。我想查看在特定时间范围内(每月)从用户 1 向用户 2 发送了多少条消息。所以这是我的示例字段表:
Sending User | Receiving User | Message Text | Time Stamp
User 1 | User 2 | Hi | 08/01/2021
User 3 | User 4 | Hello | 08/01/2021
User 2 | User 1 | Hi Back | 08/01/2021
User 1 | User 2 | Bye | 08/02/2021
User 3 | User 4 | Goodbye | 08/02/2021
User 1 | User 2 | Hello Again | 08/03/2021
所以我正在寻找这样的输出:
Sending User | Receiving User | Message Count
User 1 | User 2 | 3
User 2 | User 1 | 1
User 3 | User 4 | 2
我还不能通过 Group By 语句的 Count 查询获得所需的结果。
我试过了:
SELECT Sending User, Receiving User, COUNT(Message Text)
FROM TABLE
GROUP BY Sending User, Receiving User
但到目前为止,我为每个用户提供了多行,所以我有几行用于相同的发送和接收用户组合。我只期待一个。
解决方案
您想要的结果不考虑任何特定的日期范围,但您的示例查询给出了您想要的结果:
select sendinguser, ReceivingUser, Count(*) MessageCount
from t
where timestamp between '20210801' and '20210831'
group by sendinguser,ReceivingUser
order by sendinguser
请参阅示例 DB Fiddle
推荐阅读
- datagridview - 如果 C# datagridview 行求和
- .net - vb.net, Xtrareport :如何在 Xrtable 扩展的每个页面上显示 Xrtable 的标题?
- dns - DNS 从 Godaddy 更改为 Netlify
- excel - 使用VBA查找段落中文本的位置
- android - Firebase getValue 以 HasMap 的形式返回,无论我如何要求它
- python - Detectmultiscale() 有时会返回一个空元组
- r - 在自定义我的优势比 (ggplot) 方面需要帮助!
- python - 空维度形状“ValueError:检查目标时出错:预期dense_2有2个维度,但得到了形状()的数组”
- scala - Mutable fields of immutable values in Scala
- javascript - Is there anyway to center the Column Chart on the xAxis