【发布时间】:2012-01-28 02:24:39
【问题描述】:
我正在尝试使用如下所示的行号创建一个视图:
create or replace view daily_transactions as
select
generate_series(1, count(t)) as id,
t.ic,
t.bio_id,
t.wp,
date_trunc('day', t.transaction_time)::date transaction_date,
min(t.transaction_time)::time time_in,
w.start_time wp_start,
w.start_time - min(t.transaction_time)::time in_diff,
max(t.transaction_time)::time time_out,
w.end_time wp_end,
max(t.transaction_time)::time - w.end_time out_diff,
count(t) total_transactions,
calc_att_status(date_trunc('day', t.transaction_time)::date,
min(t.transaction_time)::time,
max(t.transaction_time)::time,
w.start_time, w.end_time ) status
from transactions t
left join wp w on (t.wp = w.wp_name)
group by ic, bio_id, t.wp, date_trunc('day', transaction_time),
w.start_time, w.end_time;
我最终得到了重复的行。 SELECT DISTINCT 也不起作用。有什么想法吗?
交易表:
create table transactions(
id serial primary key,
ic text references users(ic),
wp text references wp(wp_name),
serial_no integer,
bio_id integer,
node integer,
finger integer,
transaction_time timestamp,
transaction_type text,
transaction_status text
);
WP 表:
create table wp(
id serial unique,
wp_name text primary key,
start_time time,
end_time time,
description text,
status text
);
查看输出:
【问题讨论】:
-
您能否提供事务和 wp 表的架构和一些示例数据?
-
@TetonSig 我已经添加了表定义和示例数据。感谢您查看我的问题 :)
-
谢谢,很有帮助。您能否为 wp 中的特定 wp_name 和交易中的匹配 wp 提供每个表中的一些示例记录。
标签: sql postgresql view window-functions sql-view