用于选择范围内多个记录的SQL命令


0

我对SQL比较陌生,我正在寻找一个可以运行的命令,以便在计算值的.5内查找数据库中的所有记录。

例如:

SELECT X, (Y/Z) AS ZZ FROM Table WHERE ZZ WITHIN .5

但是从那以后 WITHIN 不是一个有效的SQL命令,我可以替换的实际命令是什么?

Answers:


1

这取决于您使用的是哪个供应商的SQL,但是,我会说它将是以下内容:

SELECT * FROM table WHERE column BETWEEN value1 AND value2

或者,你可以使用

SELECT * FROM table WHERE column <= value1 AND >= value2

如果有一些我感兴趣的相关值,这将有效,但想法是输出彼此相差0.5的记录,而不是一些独立的值。我正在使用sqlite3通过Python引用一个sql数据库。
nrdk

0

这样的事情(在SQL Server 2008 R2中)你有什么想法?

CREATE TABLE Tab
(
    X FLOAT NOT NULL,
    Y FLOAT NOT NULL,
    Z FLOAT NOT NULL,
    ZZ AS Y / Z
);

INSERT INTO Tab
VALUES
( 1, 2, 3 ),
( 0.1, 0.2, 0.3 ),
( 0.1, 0.5, 1 ),
( 0.2, 0.4, 0.8 ),
( 0.5, 1, 1.5 );

SELECT X, Y, Z, ZZ
FROM Tab;

DECLARE @Delta FLOAT;
SET @Delta = 0.5;

SELECT X, Y, Z, ZZ, ZZ - @Delta, ZZ + @Delta
FROM Tab
WHERE X BETWEEN ZZ - @Delta AND ZZ + @Delta;

修改为使用计算列。请注意,计算列不会存储在数据库中,除非声明为 坚持
BillP3rd

0

我想更直接你在寻找......

SELECT X, (Y/Z) AS ZZ FROM Table WHERE (Y/Z) BETWEEN (Y/Z) - .5 AND (Y/Z) + .5
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.