【发布时间】:2017-12-13 04:18:56
【问题描述】:
我有一个网络应用程序,用户可以在其中向存储在数据库中的联系人发送消息。成功发布消息后,收件人的详细联系信息将输入到另一个表中。我想做一个查询,返回该邮件的收件人。这些是桌子上的列:
| communication_id | first_name | last_name | telephone |
communication_id 是一个外键,它对于每个不同的通信都是不同的,而不是每个人。例如,如果一个用户发送一条消息并且有 20 个收件人,我只想得到这 20 个。所有 20 个都具有相同的通信 ID
到目前为止我的查询是
SELECT communication_id, first_name ||' ' || last_name AS recipient_name, telephone
FROM communications_sent
ORDER BY communication_id DESC
但众所周知,这将返回所有内容。我也不能LIMIT,因为有些条目会被遗漏。我不能使用COUNT(*)>1,因为即使是较旧的通信也有大于 1 的计数。我怎样才能只获得最新的条目?可以是一个条目,也可以是 100 个。
我上面查询的一个示例输出是:
|communication_id|recipient_name|telephone|
| 263 | John Doe |712100100|
| 263 | Willy Bill |721001001|
| 262 | Mary May |700101010|
| 262 | Joe Jimmy |722111000|
【问题讨论】:
标签: sql postgresql postgresql-9.1