Things like this. AVG ring time before answer, average connected call
duration. % of calls never answered. % of calls that are answered that are
connected. Number of times John has answered a call versus how many times
we've called him.That sort of stuff.


On Mon, Apr 14, 2014 at 3:34 PM, Rob Sargent <robjsarg...@gmail.com> wrote:

>  On 04/14/2014 04:22 PM, Robert DiFalco wrote:
>
> But then I lose a bunch of data like the TIMESTAMPTZ of the call, answer,
> connection, etc. Btw, currently these tables never need to be UPDATEd. They
> are immutable in the current design. And in the end I'm not sure how the
> proposal of one table and a state that is updatable changes the basic
> thrust of the question. For example, getting last call, last answered,
> total called, total answered. If the state of a call transitions from
> called to answered then making it a field loses all the data with the
> previous state, make sense?
>
>
> On Mon, Apr 14, 2014 at 2:43 PM, Vincent Veyron <vv.li...@wanadoo.fr>wrote:
>
>>
>>
>> On Mon, 14 Apr 2014 09:27:29 -0700
>> Robert DiFalco <robert.difa...@gmail.com> wrote:
>>
>> > I have several related tables that represent a call state.
>> >
>> > And so on for calls_connected, calls_completed, call_errors, etc.
>> >
>> > So for my question -- is the choice between these a personal preference
>> > sort of thing or is there a right or wrong approach? Am I missing
>> another
>> > approach that would be better?
>>
>> Hi Robert,
>>
>> I guess a call state is subject to change, in which case you would have
>> to shuffle records between tables when that happens?
>>
>> ISTM you should consider using only a 'calls' table, and add an
>> 'id_call_state' field to it that references the list of possible states.
>> This would make your queries simpler.
>>
>> create table call_state(
>> id_call_state text PRIMARY KEY,
>> libelle text);
>>
>> INSERT INTO call_state (id_call_state, libelle) VALUES
>> ('calls_connected', 'Connected'), ('calls_completed', 'Completed'),
>> ('call_errors', 'Error');
>>
>> > CREATE TABLE calls (
>> >   id      BIGINT NOT NULL, // sequence generator
>>
>> id_call_state INTEGER NOT NULL REFERENCES call_state,
>>
>> >   user_id BIGINT NOT NULL,
>> >   called  TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
>> >
>> >   PRIMARY KEY (id),
>> >   FOREIGN KEY (user_id) REFERENCES my_users(id) ON DELETE CASCADE
>> > );
>>
>>
>> --
>>
>>                                          Salutations, Vincent Veyron
>>
>> http://marica.fr
>> Gestion des contentieux juridiques, des contrats et des sinistres
>> d'assurance
>>
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>>
>
>  I wonder if you really need to place the parts of the call into the
> various tables.  ringtime, answertime, closetime and all the values
> associated with those parts of a call are all fundamental to a single call,
> though perhaps collected incrementally.  Easy queries, for sure. (Sorry, I
> haven't gone back to see your orig. schema.  If it's clear there why these
> are in separate files, say no more)
>
>
>

Reply via email to