select b.id, b.name, b.sum_value, b.max_date -- а в самом конечной выборке выбираем только первые номера нумерации строк от каждого человека
from ( select a.id, a.name, a.sum_value, a.max_date, -- в этом подзапросе нумеруем строки в пределах одного человека
@rank := IF(@name2 != a.name, 1, @rank + 1) as rnk,
@name2 := a.name
from (select t.id, t.name, -- в этом подзапросе находим сумму очков и максимум даты
@sum := IF(@name != name, value, @sum + value) as sum_value,
@max := IF(@name != name, date, @max) as max_date,
@name := name
from
(select 1 id, 'Вася' Name, 7 value, STR_TO_DATE('01.01.2018', '%d.%m.%Y') date union all
select 2 id, 'Вася' Name, 2 value, STR_TO_DATE('02.02.2018', '%d.%m.%Y') date union all
select 3 id, 'Петя' Name, 2 value, STR_TO_DATE('01.01.2018', '%d.%m.%Y') date union all
select 4 id, 'Вова' Name, 2 value, STR_TO_DATE('01.01.2018', '%d.%m.%Y') date ) t, --исходные данные в виде таблицы t
(select @max := 0, @sum := 0, @name := '') p
order by t.name, date desc
) a,
(select @rank := 1, @name2 := '') p2
order by a.name, a.sum_value desc
) b where b.rnk = 1
order by b.id, b.name
update tab1 t1, tab2 t2 // таблицы, участвующие в Update
set t1.key = ? // устанавливаем параметр key, только непонятно, что задаем
where t1.id = t2.id // соответствие записей по первичным ключам
update tab1 t1, tab2 t2 // таблицы, участвующие в Update
set t1.key = ? // устанавливаем параметр key, только непонятно, что задаем
where t1.SecondName = t2.SecondName // допустим, пусть будет обновление key у тех записей, у которых есть полное соответствие атрибутов.
and t1.LastName = t2.LastName
and t1.ThirdName = t2.ThirdName
var script_elem = document.createElement('script'); // создаем DOM-элемент
script_elem.innerHTML = 'alert(123456)'; // помещаем в него код скрипта
document.body.appendChild(script_elem); // добавляем в документ
При этом достаю только те значения, которые имеют самый старший "ключ"
ALTER TABLE test2.board ADD data_razm datatime null AFTER moder;
ALTER TABLE test2.board ADD ip tinytext null AFTER data_razm;
update test2.board t2b, test.board tb
set t2b.data_razm = tb.data_razm,
t2b.ip = tb.ip
where t2b.id = tb.id
var my_array =
[
{
data: 123
},
{
data: 845
},
{
data: 'dsdsd'
}
];
my_array.forEach(function(item, i, arr)
{
switch(i)
{
case 0:
item.operation = item.data * 5;
break;
case 1:
item.operation = item.data * 2;
break;
default:
item.operation = item.data + 'qwqwqw';
}
});
$arraytime = ['07:01:05', '06:21:30', '08:15:15', '07:13:08', '06:02:00', '09:21:10', '12:54:48'];
$sum = 0;
foreach($arraytime as $time)
$sum += strtotime($time) - strtotime('00:00:00');
echo sprintf('%d:', $sum / 3600).date('i:s', $sum);