<?php
$search = "Диагональ 17,6";
echo preg_replace(
'/(\d),(\d)/', '$1.$2',
$search
); //Диагональ 17.6
$res = array_reduce (
$data['balance'],
function($res, $el) {
if (isset($res[$el['id']])) $res[$el['id']] += $el['balance'];
else $res[$el['id']] = $el['balance'];
return $res;
},
[]
);
update tbl
join (
select col1, sum(col2) col2_sum from tbl group by col1
) summed on summed.col1 = tbl.col1
set col3 = col2_sum;
<?php
$query = 'SELECT
`methods`.*
FROM `methods`
LEFT JOIN `groups` ON `groups`.`id` = `methods`.`group_id`
WHERE
`methods`.`active` = ? AND
`groups`.`active` = ?
ORDER BY `methods`.`group_id`, `methods`.`position`;';
// get DB version using PDO
$stmt = $pdo->prepare($query);
$stmt->execute([1, 1]);
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$group_id = $row['group_id'];
printf(
'<ul data-group_id="%d">' . PHP_EOL . ' <li data-id="%d">%s</li>' . PHP_EOL,
$group_id, $row['id'], $roe['name']
);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
if ($group_id != $row['group_id']) {
$group_id = $row['group_id'];
printf(
'</ul><ul data-group_id="%d">' . PHP_EOL,
$group_id
);
}
printf(' <li data-id="%d">%s</li>' . PHP_EOL, $row['id'], $roe['name']);
}
printf('</ul>');
}
SELECT
category.id, category.title, ARRAY_AGG(subcategory.title)
FROM category
JOIN subcategory ON subcategory.category_id = category.id
GROUP BY category.id, category.title;
-- Get previous week
SELECT CONCAT(datepart(YEAR, DATEADD(WEEK, -1, GETDATE())) , '-', datepart(wk, DATEADD(WEEK, -1, GETDATE())));
SELECT
SUM(some_value) AS 'Количество order_cost', SUM(just_value) AS 'Количество доставок'
FROM dbo.Sheet1$
WHERE
period = CONCAT(datepart(YEAR, DATEADD(WEEK, -1, GETDATE())) , '-', datepart(wk, DATEADD(WEEK, -1, GETDATE())))
select medialib.id, category.name
from medialib
join category on category.id = medialib.catalog;
WITH records AS (
SELECT
a.title,
s.date,
t.status,
ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY s.date DESC) rn
FROM adverts a
LEFT JOIN sys_advert_statuses s ON a.id = s.ad_id
LEFT JOIN sys_advert_status_types t ON s.status_id = t.id
WHERE
s.status_id IN (3, 5, 6)
AND a.id = 4
) SELECT title, date, status FROM records WHERE rn = 1;
SELECT user_id, SUM(confirmed) AS "confirmed_ones"
FROM(
SELECT vr.user_id user_id, COUNT(vr.status) AS confirmed
FROM violation_requests AS vr
AND vr.status IN('confirmed'::incident_status)
AND NOT vr.is_deleted
GROUP BY vr.user_id = 1
UNION
SELECT c.user_id, COUNT(c.status)
FROM complaints AS c
AND c.status IN('confirmed'::incident_status)
AND NOT c.is_deleted
GROUP BY c.user_id
) AS res
GROUP BY user_id;
for ($i=0; $i<3; $i++) {
$dddt = rand(1,15);
$insert_sql = "INSERT INTO events
SELECT MAX(id) + {$dddt}, NOW(), 10 FROM events;";
mysqli_query($mysqli, $insert_sql);
}
with s as (
select
* ,
row_number() over (partition by name order by event_time asc) -
row_number() over (partition by name, event order by event_time asc) gr
from t
) select
name, event, count(*)
from s
group by name, event, gr
order by count desc
limit 1;
CREATE TABLE statuses (
id int primary key auto_increment,
title varchar(64)
);
CREATE TABLE orders (
id int primary key auto_increment,
created_at datetime default now(),
status_id int references statuses(id)
);
<?php
$week_days = [
"Воскресенье",
"Понедельник",
"Вторник",
"Среда",
"Четверг",
"Пятница",
"Суббота",
];
date_default_timezone_set("Europe/Moscow");
$startdate = strtotime("first day of +2 month");
$month = date("m", $startdate);
if ($month == 03) {
echo "Март" . "\n";
}
$enddate = strtotime("last day of +2 month");
$array = [];
for ($i = $startdate; $i <= $enddate; $i += 86400) {
$array[] = date("d ", $i) . $week_days[date("w", $i)];
}
foreach ($array as $row) {
echo $row . "\n";
}
?>