小编OMG*_*ies的帖子

PostgreSQL,检查相对于"今天"的日期

想知道是否有人可以帮助一些Postgres.我有一个表有一个名为mydatepostgres日期类型的列.我想做的事情如下:

SELECT * FROM MyTable WHERE mydate > [Today-1year]
Run Code Online (Sandbox Code Playgroud)

我之前从未使用过Postgres,我确信我只需要知道一些函数的名称 - 我很乐意自己查阅引用.谁能指出我正确的方向?

谢谢!

sql postgresql

80
推荐指数
4
解决办法
9万
查看次数

MySQL - 从多个表中选择具有相同结构但不同数据的数据

好的,这是我的困境,我有一个数据库设置,大约5个表都具有完全相同的数据结构.以这种方式分离数据以用于本地化目的并且总共分割大约450万条记录.

大多数时候只需要一张桌子,一切都很好.但是,有时需要从2个或更多表中获取数据,并且需要按用户定义的列进行排序.这是我遇到问题的地方.

数据列:

id, band_name, song_name, album_name, genre
Run Code Online (Sandbox Code Playgroud)

MySQL声明:

SELECT * from us_music, de_music where `genre` = 'punk'
Run Code Online (Sandbox Code Playgroud)

MySQL吐出这个错误:

#1052 - Column 'genre' in where clause is ambiguous
Run Code Online (Sandbox Code Playgroud)

显然,我做错了.有人愿意为我阐明这一点吗?

mysql sql join mysql-error-1052

78
推荐指数
3
解决办法
18万
查看次数

#1025 - 将'./database/#sql-2e0f_1254ba7'重命名为'./database/table'时出错(错误号:150)

所以我试图将一个主键添加到我的数据库中的一个表.现在它有一个这样的主键:

PRIMARY KEY (user_id, round_number)
Run Code Online (Sandbox Code Playgroud)

其中user_id是外键.

我想把它改成这个:

PRIMARY KEY (user_id, round_number, created_at)
Run Code Online (Sandbox Code Playgroud)

我在phpmyadmin中通过单击表结构视图中的主键图标来执行此操作.

这是我得到的错误:

#1025 - Error on rename of './database/#sql-2e0f_1254ba7' to './database/table' (errno: 150)
Run Code Online (Sandbox Code Playgroud)

它是一个带有InnoDB表引擎的MySQL数据库.

mysql sql innodb phpmyadmin mysql-error-1025

78
推荐指数
6
解决办法
10万
查看次数

mysql持续时间和获取时间

我正在使用MySQL工作台 - 运行查询时持续时间和获取时间之间有什么区别?

还有一种方法可以在MySQL中启用微秒选项吗?

mysql mysql-workbench

75
推荐指数
3
解决办法
4万
查看次数

加入Update的MySQL语法

我有两个看起来像这样的表

培养

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| TrainID  | varchar(11) | NO   | PRI | NULL    |       |
| Capacity | int(11)     | NO   |     | 50      |       |
+----------+-------------+------+-----+---------+-------+
Run Code Online (Sandbox Code Playgroud)

预订

+---------------+-------------+------+-----+---------+----------------+
| Field         | Type        | Null | Key | Default | Extra          |
+---------------+-------------+------+-----+---------+----------------+
| ReservationID | int(11)     | NO   | PRI | NULL    | auto_increment |
| FirstName     | varchar(30) | NO   |     | NULL    | …
Run Code Online (Sandbox Code Playgroud)

mysql sql

74
推荐指数
2
解决办法
7万
查看次数

列的顺序是否在group by子句中重要?

如果我有两个列,一个具有非常高的基数,另一个具有非常低的基数(唯一的值#),那么我按哪个顺序分组?

这是一个例子:

select 
     dimensionName, 
     dimensionCategory, 
     sum(someFact)
from SomeFact f
join SomeDim d on f.dimensionKey = d.dimensionKey
group by 
    d.dimensionName,  -- large number of unique values
    d.dimensionCategory -- small number of unique values
Run Code Online (Sandbox Code Playgroud)

是否有重要的情况?

sql sql-server group-by

74
推荐指数
4
解决办法
3万
查看次数

如何更新T-SQL中的DateTime字段?

以下查询不会更新datetime字段:

update table
SET EndDate = '2009-05-25'
WHERE Id = 1
Run Code Online (Sandbox Code Playgroud)

我也尝试过没有破折号,但这也不起作用.

sql t-sql sql-server types

74
推荐指数
5
解决办法
36万
查看次数

如何通过单个测试检查null/empty/whitespace值?

我想编写一个SELECT语句,它只使用一个测试来返回没有值的列(null,empty或所有空格).

我认为这会奏效:

SELECT column_name from table_name WHERE column_name NOT LIKE '%_%';
Run Code Online (Sandbox Code Playgroud)

但这对NULL值不起作用.

我当然可以补充一下

OR column_name IS NULL
Run Code Online (Sandbox Code Playgroud)

它会起作用,但我想要一种使用单一测试的方法.

sql oracle oracle10g

74
推荐指数
5
解决办法
26万
查看次数

mysql索引太多了?

我花了一些时间来优化我们当前的数据库.

我正在特别关注索引.

有几个问题:

  • 是否存在索引太多的事情?
  • 什么指数会加速?
  • 索引会减慢什么?
  • 什么时候添加索引是个好主意?
  • 什么时候添加索引是个坏主意?
  • Pro和Con的多个索引与多列索引?

mysql sql indexing

74
推荐指数
3
解决办法
2万
查看次数

MySQL:Typecasting NULL为0

让我们假设下表(例如几个内连接语句的结果):

id | column_1 | column_2
------------------------
 1 |  1       | 
 2 |  2       | 2
 3 |          | 3
Run Code Online (Sandbox Code Playgroud)

例如,您可以从以下语句中获取:

select a.id, t1.column_1, t2.column_2
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
Run Code Online (Sandbox Code Playgroud)

现在,如果我想总结t1.column_1和t2.column_2,如下所示

select 
    a.id, 
    t1.column_1, 
    t2.column_2,
    (t1.column_1 + t2.column_2) as cumulated
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
Run Code Online (Sandbox Code Playgroud)

reslut将如下所示:

id | column_1 | column_2 | cumulated
------------------------------------
 1 |  1       | …
Run Code Online (Sandbox Code Playgroud)

mysql sql casting

73
推荐指数
1
解决办法
6万
查看次数