select b.*
from (select a.*, -- атрибуты по агрегированной статистике
-- атрибуты записей-кандидатов на последние записи
s.id id_2,
s.product_id product_id_2,
s.warehouse_id warehouse_id_2,
-- ......
row_number() over (partition by s.product_id, s.warehouse_id, s.date order by s.id desc) r_num -- нумеруем кандидатов, по порядку id в статистике
from (select
product_id,
size,
warehouse_id,
max(date) later_date, -- поздняя дата
sum(orders) as orders
from stats
where date(`date`) >= '2023-09-01' and date(`date`) <= '2023-09-04'
group by product_id, warehouse_id, size
) a
left join stats s on s.date = a.later_date
and s.product_id = a.product_id
and s.warehouse_id = a.warehouse_id) b
where b.r_num = 1 -- берем первого кандидата (нужно проверить, будет ли null, если left join не присоединит запись)
Может есть "старый, советский, есть в каждом доме" способ чтобы обойти без покупки белого ip?
try
{
$insert->execute($mediaData);
}
catch(Exсeption $e) // см. также типы исключений того модуля, который подключается к СУБД, можно реагировать только на них, если подставить нужный тип
{
// тут код, который выполняется в случае ошибки (не обязательно при взаимодействии с СУБД)
}
finally
{
// тут код, который выполняется при любом исходе
}
На ум приходит только организовать выгрузку на основном сайте обновленных данных каталога товаров в JSON или XML – формате, передачу и получение данных на дополнительных сайтах, и затем в цикле проводить запросы к базе, сравнение и обновление данных о стоимости каждого товара.
Подозреваю, 4 тыс. запросов к базе данных в цикле - не рационально, но как это сделать более разумно?
два дополнительных сайта на LARAVEL,
Китай всякий не предлагать так как знаю 1000 и 1 случи как они убивают ноуты =(
<a href="/index.html" class="dotted-link">Форма</a>
DirectoryIndex index.html
<a href="/" class="dotted-link">Форма</a>
window.addEventListener("DOMContentLoaded"...
... document.querySelectorAll('.tel')...
input.addEventListener("input", mask, false);
input.addEventListener("focus", mask, false);
input.addEventListener("blur", mask, false);
input.addEventListener("keydown", mask, false)
$conn = new mysqli("localhost", "y96360rs_a", "xR&O&&37", "y96360rs_a");
$sql = "UPDATE `admins` SET `login` = ?, `pass` = ?, `name` = ?, `role` = ? WHERE `id` = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('ssssi', $login, $pass, $name, $role, $id);
$id = $conn->insert_id;
select '10' Name union
select '1' Name union
select '20' Name union
select '2' Name
order by length(Name), Name