Postgresql создать вид - PullRequest
       9

Postgresql создать вид

4 голосов
/ 20 декабря 2011

У меня есть следующие столбцы в Таблице A, в которых записываются «транзакции» пользователей по отпечаткам пальцев каждый раз, когда они регистрируются или выписываются из здания.

CREATE TABLE user_transactions(
    id serial PRIMARY KEY,
    staff_id INT4,
    transaction_time TIMESTAMP,
    transaction_type INT4
);

За один день у пользователя может быть много транзакций.Как я могу создать представление со следующей структурой?

    staff_id INT4
    transaction_date DATE
    first_transaction TIMESTAMP --first finger scan of the day
    last_transaction TIMESTAMP  --last finger scan of the day
    number_of_transaction INT4  --how many times did the user scan for the day

1 Ответ

20 голосов
/ 20 декабря 2011

Этот должен сделать работу:

create or replace view xxx as 
select 
    staff_id,
    date_trunc('day', transaction_time) transaction_date, 
    min(transaction_time) first_transaction, 
    max(transaction_time) last_transaction, 
    count(*) 
from user_transactions 
group by staff_id, date_trunc('day', transaction_time);
...