【发布时间】:2022-02-11 22:36:26
【问题描述】:
我是 SQL 的初学者,我使用的是 PostgreSQL。 我的数据库是房地产交易列表,1 行 = 1 次销售。 这是我的表格的描述:
CREATE TABLE adresse (
id SERIAL,
num_voie SMALLINT,
bis_ter VARCHAR(10),
type_voie VARCHAR(30),
voie VARCHAR(50),
cp VARCHAR(10),
ville VARCHAR(100));
CREATE TABLE bien(
id SERIAL,
type_bien VARCHAR(30),
surf_bien SMALLINT,
nbr_piece SMALLINT);
CREATE TABLE vente (
id SERIAL,
date_vente DATE,
prix_vente INTEGER,
id_adresse INTEGER,
id_bien INTEGER);
此外,“id_adresse”是一个引用地址 (id) 的 FK,“id_bien”是一个引用 bien (id) 的 FK。
这是我的问题:当我尝试使用此查询计算第一季度和第二季度之间的销售变化率时:
WITH vente_T1 AS (
SELECT count(*) FROM vente WHERE date_vente BETWEEN '2020-01-01' AND '2020-03-31'),
vente_T2 AS (
SELECT count(*) FROM vente WHERE date_vente BETWEEN '2020-04-01' AND '2020-06-30')
SELECT vente_T2-vente_T1 FROM vente_T1, vente_T2;
我有这个错误:
ERROR: operator does not exist: record - record
LINE 5: SELECT vente_T2-vente_T1 FROM vente_T1, vente_T2;
HINT: No operator matches the given name and argument types.
You might need to add explicit type casts.
SQL state: 42883 Character: 216
我在另一个主题中看到“这是由于 WHERE 子句包含字符串值而不是整数值。”
但我不知道如何计算不指定日期的销售变化率...
如果您有任何想法,欢迎!
【问题讨论】:
标签: sql postgresql