Ставим L3 коммутатор, который будет рулить потоком, его же добавляем в качестве шлюза.
WITH cte AS (
SELECT 'Bob' AS name, 25 AS age UNION ALL
SELECT 'Mark' , 30 UNION ALL
SELECT 'Joe' , 35
)
SELECT test.id,
jsonb_build_object('items', jsonb_agg(jae.value_1 || jsonb_build_object('age', cte.age)))
FROM test
CROSS JOIN jsonb_array_elements(test.value->'items') AS jae (value_1)
LEFT JOIN cte ON cte.name = jae.value_1->>'name'
GROUP BY test.id
и кто-нибудь решит задудосить
Постоянная и динамическая коммутация
Как сети с коммутацией пакетов, так и сети с коммутацией каналов можно разделить на два класса:
- сети с динамической коммутацией ;
- сети с постоянной коммутацией.
В сетях с динамической коммутацией:
- разрешается устанавливать соединение по инициативе пользователя сети;
- коммутация выполняется только на время сеанса связи, а затем (по инициативе одного из пользователей) разрывается;
- в общем случае пользователь сети может соединиться с любым другим пользователем сети;
- время соединения между парой пользователей при динамической коммутации составляет от нескольких секунд до нескольких часов и завершается после выполнения определенной работы — передачи файла, просмотра страницы текста или изображения и т.п.
Примерами сетей, поддерживающих режим динамической коммутации, являются телефонные сети общего пользования, локальные сети, сети TCP/IP.
Сеть, работающая в режиме постоянной коммутации:
- разрешает паре пользователей заказать соединение на длительный период времени;
- соединение устанавливается не пользователями, а персоналом, обслуживающим сеть;
- период, на который устанавливается постоянная коммутация, составляет обычно несколько месяцев;
- режим постоянной ( permanent ) коммутации в сетях с коммутацией каналов часто называется сервисом выделенных ( dedicated ) или арендуемых ( leased ) каналов;
- в том случае, когда постоянное соединение через сеть коммутаторов устанавливается с помощью автоматических процедур, инициированных обслуживающим персоналом, его часто называют полупостоянным (semi-permanent) соединением, в отличие от режима ручного конфигурирования каждого коммутатора.
а для более старых версий невозможно выполнить то, что я хочу?
SELECT *
FROM services
JOIN (
SELECT *,
@row_number := CASE WHEN service_id = @service_id
THEN @row_number + 1
ELSE 1
END rownumber,
@service_id := service_id
FROM orders
CROSS JOIN (SELECT @service_id := 0, @row_number := 0) init_vars
ORDER BY service_id, id DESC
) enumerated_orders USING (service_id)
WHERE enumerated_orders.rownumber <= services.service_limit
Информация о том, что пользователь оплатил подписку заносится в бд (есть отдельная строка, в которой изначальное значение равно нулю, а при оплате меняется на 1).
значение сменилось на 1, а потом через месяц само сменилось на 0.
хотелось бы посмотреть на версию mysql 5.7
SELECT department.name as department_name,
employee.name
FROM employee
JOIN department ON employee.department_id = department.id
WHERE 2 > ( SELECT COUNT(*)
FROM employee emp
WHERE emp.department_id = employee.department_id
AND emp.id < employee.id )
SELECT department.name as department_name,
subquery.name
FROM department
JOIN ( SELECT employee.*,
@row_number := CASE WHEN @department = department_id
THEN @row_number + 1
ELSE 1
END rownumber,
@department := department_id
FROM employee
CROSS JOIN ( SELECT @department:=0, @row_number:=0 ) variables
ORDER BY department_id, id ) subquery ON subquery.department_id = department.id
WHERE subquery.rownumber <= 2
Это продуктовый магазин
чеки:
с временем покупки
с товарами с количеством
с номером магазина
я просто хочу чтобы добавился столбце id, который бы шел по порядку с той таблицы которая у меня уже есть.
=A2
. В ячейку С1 вставить формулу =A3
. И так далее до E1=A5.WITH cte AS (
SELECT PIP.purchase_id, SUM(PIP.product_count * PR.new_price) AS all_sum
FROM product_in_purchase AS PIP
RIGHT OUTER JOIN price_register AS PR ON PIP.product_id = PR.product_id
GROUP BY PIP.purchase_id
)
( SELECT * FROM cte ORDER BY all_sum ASC LIMIT 1 )
UNION
( SELECT * FROM cte ORDER BY all_sum DESC LIMIT 1 )
фишка в том, что в бд порядок меняется, условно скажем, после того, как вытащишь из бд и превратишь обратно в массив, он уже принимает вот такой вид
'[{"a":1}, {"b":2}, {"c":3}]'
Я его превращаю в json (json_encode), и кладу в бд.
Подскажите пожалуйста, какую функцию необходимо написать, чтобы в column_3 подсчитывалась сумма из column_2 учитывая группировку с column_1?
from
table1 , ( table2
left join table1 h on table1.id = h.id
left join table2 s on table2.id = s.id )
FROM table1
CROSS JOIN table2
LEFT JOIN table1 h ON table1.id = h.id
LEFT JOIN table2 s ON table2.id = s.id
FROM (table1 , table2)
LEFT JOIN table1 h ON table1.id = h.id
LEFT JOIN table2 s ON table2.id = s.id