问题内容: 预订表包含预订的开始日期,开始时间和持续时间。开始时间是工作日8:00 .. 18:00的半小时增量。持续时间每天也以半小时为增量。 如果需要,表结构可以更改。 如何在未保留的表中查找第一个免费的半小时?如果表包含 结果应该是: 可能应该使用PostgreSql 9.2窗口函数来查找starthour大于上一行starthour + duration的第一行。 如何编写返回此信息的se
问题内容: 我第一次使用Postgresql,并且试图在我的网站中创建一个搜索引擎。我有这张桌子: 然后我为表的每个字段创建了一个索引(这是正确的方法吗?或者我可以为所有字段创建一个索引?): 现在,如果我想在每个索引中搜索一个单词,SQL查询是什么? 我尝试了这个,它的工作原理: 是否存在更好的方法来做到这一点?我可以搜索多个吗?我的一个朋友提出了一个解决方案,但这是针对MySQL数据库的: P
问题内容: 我是PostgreSQL的新手,在这里编写函数非常困难。所以我希望有人可以帮助我知道该怎么做。 我有一张股票价格和日期表。我想为每个条目计算与前一天相比的变化百分比。对于最早的数据,不会有前一天的记录,因此条目可以简单地为Nil。有人可以查看我的功能并为我提供 以下帮助:a)如何引用下一行的数据,以及 b)帮助我清理数据? 我知道该声明可能不应该放在该声明之上。但是从逻辑上讲,这是到目
问题内容: 我是Postgres的新手,到目前为止很喜欢它。我已经尽了最大的努力来考虑这个问题,RTFM已尽我所能,但是已经走到了尽头,因此我需要朝着正确的方向轻推。 我正在设计一个数据库,其中每个感兴趣的实体都有一个从全局序列中分配值的列。因此,在最简单的情况下,在具有两行的表中:with和with ,我知道之后进行了修改(即在以后的事务中- 不必介意同一事务中的行是否具有相同的)。 这构成了
问题内容: 我有下表: 除非有人提出一些疯狂的新无麸质饮食来席卷全国,否则大多数情况下,每一行都将被设置为。 我需要能够非常快速地查询该值为true的行。我创建了索引: 它似乎可以工作,但是我不知道如何确定是否仅索引值为true的行。我想确保它不会像在索引任何具有任何值的行时那样愚蠢。 我应该在子句中添加运算符,还是此语法完全有效?希望这不是那些将被否决30次的超级简单的RTFM问题之一。 更新:
问题内容: 说我们有一张桌子: 填充一些行: 我想确定何时更改了值。所以我的查询结果应该是: 我有一个连接和子查询的解决方案: 但这是非常低效的,并且对于具有许多行的表将非常慢地工作。 我相信使用PostgreSQL窗口函数可能会有更有效的解决方案? SQL小提琴 问题答案: 这就是我如何通过分析来做到这一点: 更新(一些解释): 分析功能充当后处理步骤。查询结果分为多个分组(),并且在分组的上下
问题内容: 你能告诉我为什么以下在Postgres sql中不起作用吗?: 更新: 我希望查询返回“ 0.30”作为浮点数。此构造仅用于测试目的,我有一些依赖于此条件结构的复杂查询。但是我不知道如何解决它。 结果是: 更新: 这种构造出现在函数中…所以我想做以下事情: 错误消息请参见上面。 问题答案: Postgres中没有用于普通SQL查询的语法。由于没有MySQL中的功能,因此必须使用:
问题内容: 我有2张桌子,如下所示: serial_table serial_key CHARACTER VARYING(20), PRIMARY KEY(id, serial_key) serial_rate: serial_key CHARACTER VARYING(20), rate NUMERIC, PRIMARY KEY(id, serial_key), FOREIGN KEY (id,
问题内容: 我正在使用postgres 9.4,我有以下查询: 返回以下关系: 我正在尝试编写相同的查询,但这样我就获得了项目代码,并将活动名称作为相对于每个“ pid”的json数组 所以我正在寻找一个查询,该查询将返回如下内容: 有任何想法吗?在此先感谢您的帮助 更新 这是我所做的(与Abelisto所说的很接近): 问题答案:
问题内容: 为什么我总是从Postgres收到以下错误? 我阅读了PostgreSQL:文档:8.3:控制结构。首先,我尝试执行一个困难的查询(带有子查询),但是随后我尝试执行一个简单的查询,如下所示: 错误仍然相同。我究竟做错了什么? 问题答案: 您不能在plpgsql函数之外使用PL / pgSQL语句。而且,如果此片段来自plpgsql函数,那么它也是无稽之谈。您不能像T- SQL一样直接返
问题内容: 我想生成一个日期列表,希望能与另一个表连接,但是我不知道要使用什么语法,类似于以下内容: 我想要日期,因此不必在客户端进一步处理数据。我正在使用它来显示类似于此的表: 问题答案: 日期清单 使用generate_series函数获取可以添加到日期的数字列表,以获取日期列表: 结果: 旋转 问题的后半部分涉及透视结果集- 将行数据转换为列数据。PIVOT和UNPIVOT是ANSI,但我目
问题内容: 我有这样一张桌子: 而且我想选择连续的合并行。假设我有(简化)的资料,例如: 我想知道是否可以选择格式如下的行: 编辑: 这是SQLfiddle 我正在使用9.3版的Postgresql! 谢谢! 问题答案: 这是解决此问题的一种方法。创建确定是否一个纪录做了标志 不 重叠的前一个。这是一个小组的开始。然后取该标志的累积总和并将其用于分组: 这是一个SQL Fiddle。
问题内容: 尝试在PostgreSQL上重新创建我的SQL Server数据库。一切正常,除了我找不到如何重新创建此索引: 将非常感谢您的帮助。 阿列克谢 更新: http://img38.imageshack.us/img38/1071/89013974.png这是db结构star + eav ,只有一个查询 也许这不是最佳的atm。我也正在努力。也许是这样的 任何提示欢迎=) 问题答案: 不支
问题内容: 我想编写一条Postgres SQL语句,该语句表示查找颜色X和亮度Y的用户。如果该用户存在,则返回其所有行数据。如果不是,请创建新行并传递其他信息。这两个单独的语句将执行以下操作: 如果那什么都不返回,那么执行以下命令: 有没有一种方法可以将这些组合成一个查询? 问题答案: 在SQL DBMS中,select-test- insert方法是一个错误:没有什么可以阻止另一个进程在您的和
问题内容: 我在使用PostgreSQL 9.3和使用qoutes创建的表时遇到了一个奇怪的问题。例如,如果我使用qoutes创建表: 该表已正确创建,在pgAdminIII的SQL窗格中查看该引号时,可以看到保留了引号。但是,当我查询数据库以查找所有可用表的列表时(使用下面的查询),我看到结果不包含表名的引号。 由于该表是用引号创建的,因此我无法直接使用上述查询返回的表名,因为该表名未加引号,并