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";
}
?>
select
user_id,
sum(case when param = 'Won' then value else 0 end) 'Won',
sum(case when param = 'Lose' then value else 0 end) 'Lose'
from user_stats
where param in ('Won', 'Lose')
group by user_id;
select
orders.*,
DATEDIFF(COALESCE(return_at, CURRENT_DATE), get_at) days_in_rent
from orders;
create table teacher(
id int primary key,
name varchar(64)
);
create table student(
teacher_id int,
name varchar(64),
foreign key (teacher_id) references teacher(id)
);
insert into teacher (id, name) values (1, 'Teacher');
insert into student (teacher_id, name) values (1, 'Me');
select *
from student s
join teacher t on t.id = s.teacher_id
;
SELECT
name,
ROUND(AVG(establishment_avg_rate), 2) avg_rate
FROM (
SELECT
chains.name,
ROUND(AVG(rate), 2) establishment_avg_rate
FROM Establishment
JOIN Review ON Review.establishment_id = Establishment.id
JOIN Rate ON Rate.review_id = Review.id
JOIN Establishment chains ON chains.id = COALESCE(Establishment.chain_id, Establishment.id)
GROUP BY chains.name, Establishment.name
) establishment_avg
GROUP BY name
ORDER BY avg_rate DESC;
DB::beginTransaction();
try {
foreach ($data as $d) {
DB::table('stage_1')
->where('tournament_id', $d['tournament_id'])
->where('team_id', $d['team_id'])
->where('group_id', $d['group_id'])
->update(['points' => $d['points']]);
}
DB::commit();
} catch (\Exception $e) {
DB::rollback();
}
create table comments (
"name" varchar,
"commens" varchar,
"like" int,
"date" timestamp
);
insert into comments
select (json_populate_record(null::comments, value)).* from json_array_elements('[
{
"name": "name1",
"commens": "commens1",
"like": 2,
"date": "2022-01-01"
},{
"name": "name2",
"commens": "commens2",
"like": 2,
"date": "2022-01-01"
},{
"name": "name3",
"commens": "commens3",
"like": 2,
"date": "2022-01-01"
}
]');
select * from comments;
$sql = "CREATE TABLE таблица1(
id INTEGER PRIMARY KEY,
col1 INT,
col2 TEXT
);";
$db->exec($sql);
$sql = "INSERT INTO таблица1(col1, col2) VALUES
('aaaa', 'bbbbb'),
('xxx', 'yyy');";
$db->exec($sql);
$sql = "SELECT * FROM таблица1;";
$result = $db->query($sql);
while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
$array[] = $row;
}
print json_encode($array);
class Stopwatch
{
private $mysqli;
private $stopwatch_id;
private $db;
function __construct($mysqli, $stopwatch_id)
{
$this->db = $_ENV['BD_NAME'];
$this->mysqli = $mysqli;
$this->stopwatch_id = $stopwatch_id;
}
public function start()
{
$timestamp = time();
$query = "
INSERT INTO `$this->db`.`stopwatch` (`chat_id`, `timestamp`)
VALUES (?, ?)
ON DUPLICATE KEY UPDATE timestamp = ?
";
$stmt = $this->mysqli->prepare($query);
/* bind parameters for markers */
$stmt->bind_param("iii", $this->stopwatch_id, $timestamp, $timestamp);
/* execute query */
return $stmt->execute();
}
}