BGBilling: отчет по количеству абонентов по районам
Представленный ниже скрипт выводит количество абонентов в районе с идентификатором AREAID и статусом, идентификатор которого равен STATUSCODE.
Вызывать скрипт следует следующим образом: ./aboncnt.sh AREAID STATUSCODE
.
Перед использованием необходимо инициализировать переменные DB_USER, DB_PASS, DB_NAME, ADDRESS_PID значениями имя пользователя, пароль, название базы данных для подключения к MySQL а таже идентификатор поля, в котором содержится адрес абонента соответственно.
#!/bin/bash
# aboncnt.sh <areaid> <status_code>
DB_USER=...
DB_PASS=...
DB_NAME=...
ADDRESS_PID=...
/bin/echo "SELECT count(DISTINCT c.id) FROM contract_parameter_type_2 as p INNER JOIN contract as c ON p.cid=c.id WHERE p.hid in (SELECT id FROM address_house WHERE areaid=$1) AND c.status = $2 AND p.pid=${ADDRESS_PID};" | /usr/bin/mysql --skip-column-names -u${DB_USER} -p${DB_PASS} ${DB_NAME}