|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть список идентификаторов точек учета(ТУ). У каждой точки учета за историю существования может быть несколько счетчиков(ПУ) электроэнергии, которые представлены своими идентификаторами. Как построить SELECT, который бы подсчитал количество точек учета следующим способом: 1. Если точки учета за свою историю имеют хотя бы раз один и тот же счетчик, то в общей сумме считать их единожды 2. Если точки учета в своей истории имеют разные счетчики, то учитывать каждую точку. То есть для этой выборки: Код: sql 1. 2. 3. 4. 5.
должно получиться 3 точки учета ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 11:05 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
ошибся, должно получиться 2 ТУ ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 11:35 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
А если без хитрых способов? Есть объекты (О), которые потребляют ЭЭ. На каждом объекте выделяется одна или несколько ТУ, к которым привязывается потребление этого объекта. Т.е. увидеть ТУ, в отличии от ПУ, нельзя. Самая большая ошибка – это отождествлять ТУ с ПУ. С каждой ТУ в каждый момент времени может быть сопоставлен один и только один ПУ (установлен на объекте и считает ЭЭ) или не сопоставлено ни одного ПУ. Причин изменения ПУ на О может быть много: выход из строя, снятие на поверку, переход на зимний период, ... Соответственно потребление ТУ определяется показаниями ПУ или нормами. Потребление объекта будет равно сумме потребления всех его точек учета. Пример: О ТУ ПУ с 1 1 0 2021-01-01 - на ТУ 1 объекта 1 нет прибора 1 1 1 2021-05-01 - на ТУ 1 объекта 1 установлен прибор 1 1 1 2 2021-06-07 - на ТУ 1 объекта 1 установлен прибор 2 1 1 1 2021-06-10 - на ТУ 1 объекта 1 снова установлен прибор 1 1 2 0 2021-01-01 - на ТУ 2 объекта 1 нет прибора 1 2 3 2021-02-01 - на ТУ 2 объекта 1 установлен прибор 3 Таким образом, на объекте 1 в любой момент времени, начиная с 2021-01-01 и до сегодняшнего дня две ТУ и их количество не зависит от использованных ПУ на этом О. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 12:37 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
Борис Гаркун Здравствуйте! Есть список идентификаторов точек учета(ТУ). У каждой точки учета за историю существования может быть несколько счетчиков(ПУ) электроэнергии, которые представлены своими идентификаторами. Как построить SELECT, который бы подсчитал количество точек учета следующим способом: 1. Если точки учета за свою историю имеют хотя бы раз один и тот же счетчик, то в общей сумме считать их единожды 2. Если точки учета в своей истории имеют разные счетчики, то учитывать каждую точку. То есть для этой выборки: Код: sql 1. 2. 3. 4. 5.
должно получиться 3 точки учета 1. Запрос эквивалентности ТУ. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
2. Дальше фсе тривиально. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 13:39 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 14:47 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
Что-то я слишком все усложнил. Проще надо Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 15:33 |
|
Как подсчитать точки учета хитрым способом?
|
|||
---|---|---|---|
#18+
Непреодолимая тяга ко всему хитрому! Спаси вас бог от хитрых платежек энергопоставляющих компаний! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2021, 16:10 |
|
|
start [/forum/topic.php?fid=46&fpage=20&tid=1684520]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 107ms |
0 / 0 |