小编Lau*_*lbe的帖子

在安装了 PostgreSQL 12.1 的 MacOS catalina 上的 virtualenv 中安装 psycopg2 有什么问题吗?

我收到这条消息:

Collecting psycopg2
  Using cached https://files.pythonhosted.org/packages/84/d7/6a93c99b5ba4d4d22daa3928b983cec66df4536ca50b22ce5dcac65e4e71/psycopg2-2.8.4.tar.gz
Building wheels for collected packages: psycopg2
  Building wheel for psycopg2 (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/mohsen/.virtualenvs/jalas-env/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/vh/0_hbs48171574k5y9pb97st80000gn/T/pip-install-y72dxnyb/psycopg2/setup.py'"'"'; __file__='"'"'/private/var/folders/vh/0_hbs48171574k5y9pb97st80000gn/T/pip-install-y72dxnyb/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/vh/0_hbs48171574k5y9pb97st80000gn/T/pip-wheel-51dm_zyp --python-tag cp37
       cwd: /private/var/folders/vh/0_hbs48171574k5y9pb97st80000gn/T/pip-install-y72dxnyb/psycopg2/
  Complete output (144 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.15-x86_64-3.7
  creating build/lib.macosx-10.15-x86_64-3.7/psycopg2
  copying lib/_json.py -> build/lib.macosx-10.15-x86_64-3.7/psycopg2
  copying lib/extras.py -> build/lib.macosx-10.15-x86_64-3.7/psycopg2
  copying lib/compat.py -> build/lib.macosx-10.15-x86_64-3.7/psycopg2
  copying …
Run Code Online (Sandbox Code Playgroud)

postgresql pip psycopg2 virtualenv macos-catalina

1
推荐指数
1
解决办法
789
查看次数

如何在 ag 网格中格式化日期以及如何在 ag 网格中进行比较/排序?

此代码仅用于比较日期。我也想比较时间。任何人都可以为 angular 8 解决方案提供正确的解决方案吗?

 {headerName: 'Start Date', field: 'CreatedDate', sortable:true,
          cellRenderer: (data) => {
            return data.value ? (new Date(data.value)).toLocaleDateString() : '';
         }, comparator: dateComparator}

function dateComparator(date1, date2) {
  var date1Number = monthToComparableNumber(date1);
  var date2Number = monthToComparableNumber(date2);
  if (date1Number === null && date2Number === null) {
    return 0;
  }
  if (date1Number === null) {
    return -1;
  }
  if (date2Number === null) {
    return 1;
  }
  return date1Number - date2Number;
}
function monthToComparableNumber(date) {
  if (date === undefined || date === null …
Run Code Online (Sandbox Code Playgroud)

javascript datetime ag-grid angular8

1
推荐指数
1
解决办法
1299
查看次数

Oracle 与 Postgres 排序依据

我在 Oracle 和 Postgres 中运行以下查询,两者在值的排序方面显示不同的输出。

with test as (
select 'Summary-Account by User (Using Contact ID)' col1 from dual
    union all
select 'Summary-Account by User by Client by Day (Using Contact ID)' col1 from dual
)
select * from test
order by col1 desc;
Run Code Online (Sandbox Code Playgroud)

下面是甲骨文的一个

预言机输出

Postgres

with test as (
select 'Summary-Account by User (Using Contact ID)' col1
    union all
select 'Summary-Account by User by Client by Day (Using Contact ID)' col1
)
select * from test
order by col1 …
Run Code Online (Sandbox Code Playgroud)

oracle postgresql database-migration

1
推荐指数
1
解决办法
643
查看次数

从每列中选择不同的值

有没有一种方法可以从 MYSQL 数据库中的每一列获取 Distinct 值,而不必SELECT DISTINCT为每一列执行多个语句?

现在在我的 Rails 控制器中我用来.pluck()运行:

@first = User.distinct.pluck(:first_name)
@last = User.distinct.pluck(:last_name)
@city = User.distinct.pluck(:city)
@state = User.distinct.pluck(:state)
@age = User.distinct.pluck(:age)

@info = {
        'first' => @first,
        'last' => @last,
        'city' => @city,
        'state' => @state,
        'age' => @age
    }

respond_with @info
Run Code Online (Sandbox Code Playgroud)

它创建了一个对象,其中包含我的两个唯一数组,但需要大约 7.7 秒(我的表有 320 万行完全填充的行)并运行两个单独的 SQL 查询。

我尝试了这种方法,但这给了我每个独特组合的数组:

@info = User.distinct.select(:first_name, :last_name, :city, :state, :age)

respond_with @info
Run Code Online (Sandbox Code Playgroud)

ruby mysql sql ruby-on-rails

0
推荐指数
1
解决办法
4154
查看次数

postgres/oracle:获取组内最后一个非空值

我有必须“分组”的数据。在每个结果组中,都有具有多个列的行,必须按如下方式处理:对于每个这样的给定列,返回非空的最新值。所以我必须对整个表进行“分组”(gb),并为每一列找到“max-like(NUM)”(下面表示为 NUM)。类似 max 的函数按时间列排序,下面表示为“时间”。换句话说,按 'gb' 分组,按 'time' 排序,最后 desc 为空,获取组中的第一项。

抱歉,这个复杂的描述。我希望一切都清楚。知道如何编写该 sql 查询(oracle/postgres)吗?

例子

CREATE TABLE test (
  gb integer,
  NUM INTEGER,
  time integer
);

--rows=groups, columns=time; so in first row=group data 
--sorted by time are from left to right the middle value 
--in triplet, thus, 2,1,3. Ie. most current non-null value in time is 3.
insert into test VALUES (1,2,1),(1,1,2),(1,3,3);--3
insert into test VALUES (2,1,1),(2,2,2),(2,3,3);--3
insert into test VALUES (3,3,1),(3,2,2),(3,1,3);--1
insert into test VALUES (4,3,1),(4,2,2),(4,null,3);--2
insert into test VALUES …
Run Code Online (Sandbox Code Playgroud)

sql oracle postgresql

0
推荐指数
1
解决办法
1589
查看次数

将毫秒转换为字符串日期 dd MMM YYYY 并在 LIKE 子句中使用它

我在表中存储了以毫秒为单位的日期,如下所示:

table: person
columns: id,name,dob
Run Code Online (Sandbox Code Playgroud)

想要根据给定的出生日期选择人员详细信息

Eg. SELECT id,name,to_date(dob) as dob FROM person WHERE dob LIKE '10 Jun 1991'
Run Code Online (Sandbox Code Playgroud)

这里函数 to_date() 应选择毫秒并转换为格式“10 Jun 1991”

postgresql

0
推荐指数
1
解决办法
6423
查看次数

检查所有行是否相同

我有一个返回多行的选择查询,我想检查所有行是否相同.所以像这样:

anything_other_than(123) in (select id from foo)
Run Code Online (Sandbox Code Playgroud)

因此,如果select id from foo返回111,222,123,333上面的语句是false,并且select id from foo返回123,123,123它是真的.我怎样才能做到这一点?

sql postgresql

0
推荐指数
1
解决办法
74
查看次数

PostgreSQL 和 PgAdmin 设置会话变量来查询结果

为什么我会收到此错误?

set session my.vars.id = SELECT "Name" FROM "Client" WHERE "ID" = 1;
SELECT * FROM "Client" WHERE "Name" = current_setting('my.vars.id');
...
ERROR:  syntax error at or near "SELECT"
LINE 1: set session my.vars.id = SELECT "Name" FROM "Client" WHERE "...
                                 ^
Run Code Online (Sandbox Code Playgroud)

postgresql

0
推荐指数
1
解决办法
2294
查看次数

如何删除时间戳等于2018的记录

我有一个带有表的 Postgres 数据库absences。我正在尝试删除时间戳中包含“2018”的所有记录,如下所示:

DELETE FROM absences WHERE date LIKE '%2018%';
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

absence-registrator_production=> DELETE FROM absences WHERE date LIKE '2018%';
ERROR:  operator does not exist: timestamp without time zone ~~ unknown
LINE 1: DELETE FROM absences WHERE date LIKE '2018%';
Run Code Online (Sandbox Code Playgroud)

有谁知道如何从缺勤表中删除日期字段中包含“2018”的记录?

sql postgresql date-arithmetic

0
推荐指数
1
解决办法
8591
查看次数

如何知道a列是否包含所有NULL

例如,如何知道所有列是否仅包含空值

ID         | col1     | col2      |col3       | col4     
-----------+----------+-----------+-----------+-----------
 1         | Null     |Null       | with value| with value
 2         |with value|Null       | with value| with value
 3         |with value|Null       | Null      | Null    
 4         |with value|Null       | with value| with value
 5         |with value|Null       | Null      | Null  
 6         |Null      |Null       | Null      | Null    
 7         |with value|Null       | with value| with value
 8         |with value|Null       | Null      | Null  
Run Code Online (Sandbox Code Playgroud)

只有col2NULL,所以结果应该col2只是.

ID         | col2     | …
Run Code Online (Sandbox Code Playgroud)

sql postgresql null

0
推荐指数
1
解决办法
61
查看次数