select point_lifetime, sum(point)
from t
group by point_lifetime
having sum(point) <= N -- N нужно рассматривать как входной параметр запроса
-- тестовые данные
with t as (select 1 id, 1 user_id, 10 point, from_unixtime(1701533439) point_lifetime
union
select 2 id, 1 user_id, 10 point, from_unixtime(1701533439) point_lifetime
union
select 3 id, 2 user_id, 10 point, from_unixtime(1001433439) point_lifetime
union
select 4 id, 1 user_id, -10 point, from_unixtime(1901533439) point_lifetime
union
select 5 id, 1 user_id, 100 point, from_unixtime(1801733439) point_lifetime)
-- экспериментальный запрос
select a.*
from (select t.id,
t.user_id,
t.point,
t.point_lifetime,
sum(t.point) over (partition by t.user_id) sum_point,
row_number() over (partition by t.user_id order by case when t.point > 0 then 0 else 1 end, -- продавливаем положительные баллы вверх
t.point_lifetime desc) rn -- локальный счетчик записей по пользователю, чтобы понять, какую запись хотите выдернуть из подзапроса, нужно сделать так, чтобы интересуемые записи имели rn = 1
from t
where point_lifetime > str_to_date('02.12.2023 10:00:00', '%d.%m.%Y %H:%i:%s') -- считаем, что отметка "сейчас" - это 02.12.2023 10:00:00
) a
where a.sum_point >= 30 -- берем все то, что больше минимальной суммы
and a.rn = 1 -- берем только интересуемую запись по каждому пользователю
order by id
select t1.*, -- тематики
t2.* -- вопросы
from table_1 t1
join table_1 t2 on t2.topic = t1.id
where t1.topic is null
and t1.Name like 'Тематика%' -- не хватает атрибута type, чтобы различать раздел от тематики
/*7 - текущая колонка, 6 - предыдущая - можно номер выделенной колонки вынести в css переменную и манипулировать только ей*/
tr:first-child td:nth-child(6),
tr td:nth-child(6),
tr td:nth-child(7)
{
border-right: 2px solid red;
}
tr td:nth-child(7) /*страховка для вырожденного случая, когда выделена первая колонка */
{
border-left: 2px solid red;
}
tr:first-child td:nth-child(7)
{
border-top: 2px solid red;
}
tr:last-child td:nth-child(7)
{
border-bottom: 2px solid red;
}
<?php echo $field_label == "название лейбла" ? "": $field_label; ?>
Является тип безопасности WPA2 и шифрования TKIP/AES (на компе и на телефоне) не уязвимым?
%USERPROFILE%\Desktop
$filtered_arr = array_filter($arr, function ($el) use ($arr2) {
return !in_array($el['number'], $arr2);
}
});
SELECT u.* FROM users u
JOIN pp1 ON u.id = pp1.id and pp1.organization = 1
union
SELECT u.* FROM users u
JOIN pp2 ON u.id = pp2.id and pp2.organization = 1
ORDER BY name
LIMIT 15
SELECT u.* FROM users u
where exists (select 1 from pp1 where u.id = pp1.id and pp1.organization = 1 )
or exists (select 1 from pp2 where u.id = pp2.id and pp2.organization = 1 )
ORDER BY u.name
LIMIT 15
SELECT u.*
FROM users u
where exists (select 1
from pp
where u.id = pp.id
and pp.organization = 1
and pp.pp_type_id in (1, 2) -- собственно, в таблице содержится все, что раньше находилось в pp1 и pp2, появилось поле, которое отличает разновидности записей
)
ORDER BY u.name
LIMIT 15
$('.plus').click(function(e) {
checkNumber(
// про this - сюда вставьте указатель на ноду HTML - конкретный экземпляр инпут с классом намбер, который будете проверять. Будьте внимательны, если на странице несколько input.number, возможно, выбранный вами способ будет захватывать первый попавшийся input.number. Добейтесь того, чтобы захватывался только тот намбер, соседом которого является плюс или минус (можно через родительский контейнер вычислить это).
// про event. Возможно, возможно, внутри реализации checkNumber, допустим есть отмена действия по умолчанию, или остановка всплытия события, посмотрите, будет ли отличия от события oninput на намбере. Можно попробовать передать указатель события клика от плюса/минуса (обратите внимание на аргумент e в function(e) )
// про '1' - если заглянуть в хрустальный шар - реализацию функции checkNumber, то можно предположить, что это значение по умолчанию или минимальное значение поля input.number )
});