我知道这里和这里有人问过这个问题,但我有不同的可能实现的相同想法,我需要一些帮助。
最初,我的blogstories
表具有以下结构:
| Column | Type | Description |
|-----------|-------------|------------------------------------------------|
| uid | varchar(15) | 15 characters unique generated id |
| title | varchar(60) | story title |
| content | longtext | story content |
| author | varchar(10) | id of the user that originally wrote the story |
| timestamp | int | integer generated with microtime() |
Run Code Online (Sandbox Code Playgroud)
在我决定要为博客上的每个故事实施一些版本控制系统后,我想到的第一件事就是创建一个不同的表来保存编辑;在那之后,我想我可以修改现有的表来保存版本而不是edits。这是我想到的结构:
| Column …
Run Code Online (Sandbox Code Playgroud) 我的兴趣是用 FSP 为 6 来存储时间。正如我所读到的,这不能用TIMESTAMP
orDATETIME
数据类型来实现。所以,我有一个double
字段来存储microtime
函数的输出。
无论如何我可以为这样的字段设置(甚至编写一些代码来创建)默认值吗?
我想使用类似的东西NOW(6)
并获取1442059062.065123
例如。
我有下表company_likes
:
Table "public.company_likes"
Column | Type | Modifiers
------------+--------------------------------+------------------------
company_id | integer | not null
user_id | integer | not null
created_at | timestamp(0) without time zone | not null default now()
Indexes:
"company_likes_pkey" PRIMARY KEY, btree (company_id, user_id)
Foreign-key constraints:
"company_likes_company_id_foreign" FOREIGN KEY (company_id) REFERENCES companies(id) ON DELETE CASCADE
"company_likes_user_id_foreign" FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)
表的结构companies
并不重要,因为您可以从输出中的外键详细信息中推断出此问题所需的任何内容\d company_likes
。
我正在尝试获取一组公司的点赞数。我尝试了以下方法:
select company_id, count(company_id) as likes_count from company_likes where company_id in (1,2,3,4) group …
Run Code Online (Sandbox Code Playgroud)