// [...e.parentNode.children] -- преобразуем коллекцию узлов children в массив
let child_count = e.parentNode.children.length;
let child_arr = [];
for(let i = 0; i < child_count; i++)
child_arr.push(e.parentNode.children[i]);
// .filter((child) => child !== e) -- фильтруем детей, которые не относятся к текущему узлу
let filter_child_arr = [];
for(let i = 0; i < child_count; i++)
{
let curr_child = e.parentNode.children[i];
if(curr_child !== e)
filter_child_arr.push(curr_child);
}
select *
from <таблица/соединенные таблицы для выборки товара> Tab1
where <условия фильтрации>
order by
case
when Tab1.Приоритетное_свойство = :входная_приоритетная_характеристика
then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
end desc,
<Другие условия сортировки (по дате добавления, имени и т.д.)>
select *
from <таблица/соединенные таблицы для выборки товара> Tab1
where <условия фильтрации>
order by
case
when Tab1.Приоритетное_свойство_1 = :входная_приоритетная_характеристика_1
then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
end
+ -- очки приоритетов складываем
case
when Tab1.Приоритетное_свойство_2 = :входная_приоритетная_характеристика_2
then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
end
+
-- ... и так далее все характеристики
desc, --
<Другие условия сортировки (по дате добавления, имени и т.д.)>
select *
from <таблица/соединенные таблицы для выборки товара> Tab1
where <условия фильтрации>
order by
case
when Tab1.Приоритетное_свойство_1 = :входная_приоритетная_характеристика_1
then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
end desc, -- эта более важная характеристика
case
when Tab1.Приоритетное_свойство_2 = :входная_приоритетная_характеристика_2
then 1 -- запись с приоритетным свойством получит повышенное очко для первичной сортировки
else 0 -- запись с неприоритетным свойством получит пониженное очко для первичной сортировки
end desc, -- эта менее важная характеристика
-- ... и так далее все характеристики
<Другие условия сортировки (по дате добавления, имени и т.д.)>
select *
from verbs
order by darg-w
select *
from verbs
order by id
select *
from verbs
order by position -- дополнительное поле, в которое будете сами или программно вбивать порядок сортировки
select *
from verbs
order by case when id = 100 then 0 else 1 end -- даем записи id=100 наивысший приоритет, в любом состоянии списка она будет на 1 месте!
, id -- остальные записи отсортируются в порядке добавления
FROM views v JOIN memes m JOIN comments c
FROM views v, memes m, comments c
SELECT (select COUNT(v.id) from views v where v.user_id = u.user_id ) AS просмотры,
(select COUNT(DISTINCT v.meme_id) from views v where v.user_id = u.user_id) AS [уникальные просмотры],
(select COUNT(m.id) from memes m where m.user_id = u.user_id) AS [выложено мемов],
(select COUNT(c.id) from comments c where c.user_id = u.user_id) AS [написано комментариев]
FROM users u -- лучше связаться с таблицей users
WHERE u.user_id = 1
select rownum, B.*
from (select A.*
from (SELECT v.user_id,
u.nickname,
COUNT(DISTINCT v.meme_id) as meme_count
FROM views as v
join users u on u.id = v.user_id
GROUP BY v.user_id, u.nickname) A
order by A.meme_count desc) B