Select *
from (Select p.id as post_id, p.create_date as p_create_date, p.title as p_title, p.text as p_text,
img.id as img_id, img.name as img_name,
v.id as v_id, v.name as v_name,
@p_count := if(@post_id != p.id, @post_id + 1, @post_id) as p_count,
@post_id := p.id
from posts p
left join images img on img.post_id = p.id
left join videos v on v.post_id = p.id,
(SELECT @p_count := 0, @post_id := -1) r
where p.id > :start_post_id
and @p_count <= :post_count
order by p.create_date
) a
where a.p_count < :post_count
function set_title_data(target)
{
if(target.getAttribute('title') === '')
{
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ") >= 0 || ua.indexOf("Trident/") >= 0 || ua.indexOf("Edge/") >= 0;
target.setAttribute('title', 'Ждите, идет загрузка данных...');
setTimeout(function()
{
target.setAttribute('title', 'Готово! Данные получены!');
target.style.display = 'none';
target.style.display = msie ? 'block' : 'initial';
}, 2000);
}
}
<ul id="fruits">
<li class="apple">Apple</li>
<li class="orange">Orange</li>
<li class="pear">Pear</li>
</ul>
$('.apple', '#fruits').text()
//=> Apple
$('ul .pear').attr('class')
//=> pear
$('li[class=orange]').html()
//=> Orange
<li class="orange">Orange</li>
.var my_array =
[
{
data: 'первое'
},
{
data: 'второе'
},
{
data: 'третье'
}
];
my_array.forEach(function(item, i, arr)
{
item.operation = 5 * i;
});
Проблема в том, что все запросы происходят параллельно, и когда быстро меняешь фильтры, то запросы отправляются одновременно
where
-- отбрасывание из выборки событий между 9 и 10 часами
TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00')
and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00')
where
-- исключение определенного перечня интервалов
a.full_interval_number not in (0, 3, 7, 15)
where
-- включить в выборку только интервалы 1 < full_interval_number < 10
a.full_interval_number > 1
and a.full_interval_number < 10
where
-- исключение определенного перечня интервалов
a.full_interval_number not in (0, 3, 7, 15)
-- отбрасывание из выборки событий между 9 и 10 часами
and TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00')
and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00')
select * from
(
-- подзапрос интервалов
) a
where
-- отбрасывание из выборки событий между 9 и 10 часами
TIME_TO_SEC(a.event_date) < TIME_TO_SEC('09:00:00')
and TIME_TO_SEC(a.event_date) > TIME_TO_SEC('10:00:00')
-- исключение определенного перечня интервалов
a.full_interval_number not in (0, 3, 7, 15)
-- включить в выборку только интервалы 1 < full_interval_number < 10
a.full_interval_number > 1
and a.full_interval_number < 10
SELECT t.event_date, -- атрибут таблицы типа datetime, для которого определяем интервал, выведен для того, чтобы наблюдать за процессом отладки
case -- SQL-конструкция вида "case when ... then ... else ... end", с помощью которой можно выводить не только конкретное значение атрибута, но и задавать условие, при котором конечное значение результата будет вычисляться по-разному в пределах одной выбранной записи.
when TIME_TO_SEC(t.event_date) > inter.begin AND TIME_TO_SEC(t.event_date) < inter.end -- если t.event_date, выраженное в суточных секундах, находится в периоде (inter.begin, inter.end), также выраженных в суточных секундах,...
then floor((TIME_TO_SEC(t.event_date) - inter.begin) / inter.width) -- ... то вычисляем количество полных интервалов
when TIME_TO_SEC(t.event_date) <= inter.begin -- если еще рано до периода подсчета интервалов, ...
then 0 -- то, по текущей дате t.event_date ноль интервалов
when TIME_TO_SEC(t.event_date) >= inter.end -- если время больше или равно окончанию периода, ...
then floor((inter.end - inter.begin) / inter.width) -- ...то выдаем кол-во интервалов
else null -- по идее, сюда никогда не попадем, а вдруг?
end as full_interval_number -- кол-во прошедших полных интервалов, начинается с 0
FROM table t, -- ваша таблица
(select TIME_TO_SEC('09:00:00') as begin, -- начало дневного периода
TIME_TO_SEC('18:00:00') as end, -- конец дневного периода
TIME_TO_SEC('00:15:00') as width -- ширина интервала
) inter -- параметрический подзапрос, все настраиваемые константы в одном месте - удобно при отладке
SELECT *
from (SELECT
servers.id,
servers.game,
servers.votes,
@n := @n + 1 AS rank
FROM servers , (SELECT @n := 0) r
WHERE game like 'minecraft'
ORDER BY servers.votes DESC
) abs where id = 3
Вы вывести хотите значение или что-то связать?
Так-то есть оператор условной выборки: