我有这个简单的声明:
SELECT idnumber FROM dbo.database WHERE number = '9823474'
Run Code Online (Sandbox Code Playgroud)
如果表中的任何位置都不存在该数字,则会失败.我想在这个声明中添加一些内容:
如果没有记录,则返回NULL,不要行.
有什么建议?
希望以前没有问过这个问题.有谁知道域名的字符限制?例如,如果我写这个:
CREATE DOMAIN d_complement_activite_etablissement AS character varying
Run Code Online (Sandbox Code Playgroud)
它将创建一个名称为的域:
d_complement_activite_etabliss
Run Code Online (Sandbox Code Playgroud)
(是的,我知道如何计算,但我想要更多关于这个主题的信息).
是否有可以更改此最大长度的命令?其他名称(列,表等)的长度是否相同?
我需要查询每分钟直到该分钟的总行数.
到目前为止我能达到的最好成绩并没有成功.它返回每分钟的计数,而不是每分钟的总计数:
SELECT COUNT(id) AS count
, EXTRACT(hour from "when") AS hour
, EXTRACT(minute from "when") AS minute
FROM mytable
GROUP BY hour, minute
Run Code Online (Sandbox Code Playgroud) sql postgresql datetime aggregate-functions window-functions
我正在尝试将PostgreSQL配置为在我的rails应用程序中使用全文搜索,如此Railscast中所述.
我正在使用与with一起Ubuntu 12.04运行PostgreSQL 9.1.5安装的新服务器.apt-getppa:pitti/postgresqlprecise
尝试运行迁移时,当我在psql控制台中使用peer postgres用户尝试相同的命令时,我收到以下错误:
postgres=# CREATE EXTENSION unaccent;
Run Code Online (Sandbox Code Playgroud)
错误:无法打开扩展控制文件"/usr/share/postgresql/9.1/extension/unaccent.control":
没有这样的文件或目录
在我的本地框运行中,Ubuntu 10.04 desktop我使用相同的存储库(natty),它运行良好.
任何见解将不胜感激.
postgresql full-text-search unaccent rails-postgresql postgresql-9.1
因为我想删除一些表,有人建议如下,我做了:
postgres=# drop schema public cascade;
DROP SCHEMA
postgres=# create schema public;
CREATE SCHEMA
Run Code Online (Sandbox Code Playgroud)
然后我在创建新数据库时遇到问题,例如:
postgres=# create database test;
CREATE DATABASE
postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# create table hi(id int primary key);
*ERROR: no schema has been selected to create in*
Run Code Online (Sandbox Code Playgroud)
你可以看到我收到了错误
错误:未选择任何架构来创建*
如何恢复公共架构?
我建议人们永远不要做"drop schema public cascade"; 如果我们不知道如何恢复.有人可以帮帮我吗?
我创建了下表:
CREATE TABLE MMCompany (
CompanyUniqueID BIGSERIAL PRIMARY KEY NOT NULL,
Name VARCHAR (150) NOT NULL,
PhoneNumber VARCHAR(20) NOT NULL UNIQUE,
Email VARCHAR(75) UNIQUE,
CompanyLogo BYTEA
);
Run Code Online (Sandbox Code Playgroud)
电子邮件列是唯一的,它在我的方案中导致"错误",因为只有一个记录为null.我试图获得没有相同电子邮件的公司记录,但同时允许公司没有电子邮件.
我怎样才能做到这一点?
我将在碎片化的PostgreSQL表(每天的表)中存储大量数据(日志).我想压缩其中的一些以节省我的光盘上的一些空间,但我不想失去以通常的方式查询它们的能力.
PostgreSQL是否支持这种透明压缩,哪里可以更详细地阅读它?我认为这个功能应该有一些众所周知的魔术名称.
我已经安装了PostgreSQL,它运行正常.但是,当我去恢复备份时,我得到了错误-bash: psql: command not found:
[root@server1 ~]# su postgres
[postgres@server1 root]$ psql -f all.sql
bash: psql: command not found
[postgres@server1 root]$
Run Code Online (Sandbox Code Playgroud)
我做错了什么?
查询:
SELECT COUNT(*) as count_all,
posts.id as post_id
FROM posts
INNER JOIN votes ON votes.post_id = posts.id
GROUP BY posts.id;
Run Code Online (Sandbox Code Playgroud)
返回nPostgresql 中的记录:
count_all | post_id
-----------+---------
1 | 6
3 | 4
3 | 5
3 | 1
1 | 9
1 | 10
(6 rows)
Run Code Online (Sandbox Code Playgroud)
我只想检索返回的记录数:6.
我使用子查询来实现我想要的,但这似乎不是最佳的:
SELECT COUNT(*) FROM (
SELECT COUNT(*) as count_all, posts.id as post_id
FROM posts
INNER JOIN votes ON votes.post_id = posts.id
GROUP BY posts.id
) as x;
Run Code Online (Sandbox Code Playgroud)
如何在PostgreSQL中获得此上下文中的记录数?
我最近安装了pgAdmin III 1.18.1并注意到一件奇怪的事情:
将长json查询结果缩短为256个符号,然后添加"(...)".
有人可以帮助我禁用这种缩短吗?
postgresql ×9
sql ×4
null ×2
compression ×1
count ×1
create-table ×1
database ×1
datetime ×1
distinct ×1
identifier ×1
keyword ×1
linux ×1
pgadmin ×1
psql ×1
record ×1
select ×1
sql-drop ×1
storage ×1
unaccent ×1