【发布时间】:2011-12-06 15:14:31
【问题描述】:
\d cmets
Table "public.comments"
Column | Type | Modifiers
------------+------------------------+-------------------------------------------------------
id | integer | not null default nextval('comments_id_seq'::regclass)
post_id | integer | not null
name | character varying(255) | not null
email | character varying(255) | not null
content | character varying(500) | not null
created_at | date |
updated_at | date |
Indexes:
"comments_pkey" PRIMARY KEY, btree (id)
为此声明
select post_id,created_at from comments order by created_at limit 5;
我明白了
post_id | created_at
---------+------------
5 | 2011-07-11
5 | 2011-07-11
5 | 2011-07-11
8 | 2011-07-11
2 | 2011-07-17
(5 rows)
但我需要这样的结果
post_id | created_at
---------+------------
5 | 2011-07-11
8 | 2011-07-11
2 | 2011-07-17
(3 rows)
如何重写 sql 语句以得到这三行作为结果?
\d 个帖子
Table "public.posts"
Column | Type | Modifiers
-------------+------------------------+----------------------------------------------------
id | integer | not null default nextval('posts_id_seq'::regclass)
title | character varying(100) | not null
content | character varying(500) | not null
created_at | date |
updated_at | date |
tags | character varying(55) | not null default '50'::character varying
category_id | integer | not null default 1
Indexes:
"posts_pkey" PRIMARY KEY, btree (id)
使用这三行中的三个 id,我需要从 posts 表中获取 posts.title。 如何编写 sql 语句以获取带有 cmets.post_id = 5 或 8 或 2 的 posts.title ?
【问题讨论】:
标签: sql postgresql group-by