powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка Count()
3 сообщений из 3, страница 1 из 1
Выборка Count()
    #38699517
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День Добрый
Есть две таблицы вида
stat
date-name

01.01.2014 01:00 - Vyasya
01.01.2014 01:00 - Petya
02.01.2014 01:00 - Vyasya
02.01.2014 01:00 - Petya

Т.е. на каждую дату только по одному Пете и Васи

И вторая таблица dv
startdate - ownerid
01.01.2014 01:00 - Vyasya
01.01.2014 01:00 - Petya
02.01.2014 01:00 - Vyasya
02.01.2014 01:00 - Petya
01.01.2014 02:00 - Vyasya
01.01.2014 02:00 - Petya
02.01.2014 02:00 - Vyasya
02.01.2014 02:00 - Petya

Делаю так
update stat set dv=(select count(*) from dv where startdate::date=date::date and ownerid=name);
Т.е. что-бы с столбец посчитало сколько всего вась и петь за выбранный день
stat
date-name-dv
01.01.2014 01:00 - Vyasya - 2
01.01.2014 01:00 - Petya -2
Не считает.
Думал что может в формате дат- проверял
select startdate::date from dv
select date::date from stat
Однотипно выдает только дату. В чем еще может быть косяк?
Спасибо
...
Рейтинг: 0 / 0
Выборка Count()
    #38699566
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно привести рабочий пример? Я вот не вижу в таблице stat колонки dv, и join по дате между таблицами dv и stat в update тоже не вижу. Что такое GROUP BY вы знаете?
...
Рейтинг: 0 / 0
Выборка Count()
    #38701000
bivilbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei.Agalakov,

Вот полный пример ---
Создаем
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
CREATE TABLE stat
(
  id character varying(36) NOT NULL, -- ID
  createid character varying(36), -- Автор
  "name" character varying(36), 
  zn1 time without time zone, -- zn1

  date timestamp without time zone, -- дата
  dv character varying(80), -- dv
    CONSTRAINT pk_iris_callstat PRIMARY KEY (id)
)
WITH (OIDS=FALSE);


CREATE UNIQUE INDEX stat_pk_i
  ON stat
  USING btree
  (id);


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE TABLE dv
(
  id character varying(36) NOT NULL, -- ID
  ownerid character varying(36), -- Ответственный

  startdate timestamp without time zone, -- StartDate

  CONSTRAINT pk_dv PRIMARY KEY (id)
)
WITH (OIDS=FALSE);


CREATE UNIQUE INDEX dv_pk_i
  ON dv
  USING btree
  (id);


Заполняем
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
INSERT INTO stat (id, name, date, dv)
VALUES ('407091a-9e1d-09d2-58f500865e0a', 'Vyasya', '2014-04-29 00:00:00', '');
INSERT INTO stat (id, name, date, dv)
VALUES ('b6bb17c4-1fd3-f368-0e3d8fe237ab', 'Petypa', '2014-04-29 00:00:00', '');
INSERT INTO stat (id, name, date, dv)
VALUES ('407091a-9e1d-09d2-58f500865e0a', 'Vyasya', '2014-04-30 00:00:00', '');
INSERT INTO stat (id, name, date, dv)
VALUES ('b6bb17c4-1fd3-f368-0e3d8fe237ab', 'Petypa', '2014-04-30 00:00:00', '');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('4070936535e0a', 'Vyasya', '2014-04-29 00:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('407675769b63-5e0a', 'Vyasya', '2014-04-29 10:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('404533-5e0a', 'Petypa', '2014-04-29 00:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('40754235-5e0a', 'Petypa', '2014-04-30 10:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('4070936535e0a', 'Vyasya', '2014-04-30 00:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('407675769b63-5e0a', 'Vyasya', '2014-04-30 10:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('404533-5e0a', 'Petypa', '2014-04-30 00:00:00');
INSERT INTO dv (id, ownerid, startdate)
VALUES ('40754235-5e0a', 'Petypa', '2014-04-30 10:00:00');



И при
Код: sql
1.
update stat set dv=(select count(*) from dv where startdate::date=date::date and ownerid=name);


в строку DV пишем ВСЮ сумму, то есть сколько всего записей
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выборка Count()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]