create table tbl(id int primary key auto_increment, lang varchar(2));
insert into tbl(lang) values
('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'),
('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU'), ('EN'),('ES'),('RU');
with data as (
select
id, lang,
row_number() over (partition by lang order by rand()) rn
from tbl
)
select id, lang from data
where rn < 11;
create table class (
id int primary key auto_increment,
name varchar(64) unique key
);
create table subclass (
id int primary key auto_increment,
class_id int references class(id),
name varchar(64) unique key
);
create table items (
id int primary key auto_increment,
subclass_id int references subclass(id),
name varchar(64) unique key
);
insert into class (name) values ('Fruits'), ('Vegetables');
insert into subclass (class_id, name) values (1, 'Red'), (1, 'Orange'), (2, 'Green'), (2, 'Yellow');
insert into items (subclass_id, name) values
(1, 'Apple'), (2, 'Pineapple'), (3, 'Cucumber'), (3, 'Carrot');
<?php
$query = 'select class.name class, subclass.name subclass, items.name item
from items
join subclass on items.subclass_id = subclass.id
join class on subclass.class_id = class.id;';
// get DB version using PDO
$stmt = $pdo->prepare($query);
$stmt->execute();
$res = [];
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
if (!isset($res[$row["class"]])) {
$res[$row["class"]] = [];
}
if (!isset($res[$row["class"]][$row["subclass"]])) {
$res[$row["class"]][$row["subclass"]] = [];
}
$res[$row["class"]][$row["subclass"]][] = $row["item"];
}
print_r(json_encode($res, JSON_PRETTY_PRINT));
Вы определили колонку логин в базе данных как INTEGER (Целое число), но пытаетесь запихнуть туда строку
PHP Fatal error: Uncaught mysqli_sql_exception: Incorrect integer value: 'Timpixel2020' for column 'login' at row 1 in C:\OpenServer\domains\localhost\elements\signup.php:36
<?php
function isSequence3($num) {
if ($num < 123) return false;
$digits = str_split($num);
$seq = 1;
for($i=1; $i<count($digits); $i++) {
if ($digits[$i] == ($digits[$i - 1] + 1)) $seq++;
else $seq = 1;
}
return $seq > 2;
}
$sum = 0;
for ($n=1; $n<=10000; $n++) {
if (isSequence3($n)) $sum += $n;
}
printf("Sum: %d", $sum);
printf(
"<p>Пользователь: %s %s</p>
<p><i>Контактные данные</i></p>
<p>E-mail: %s</p>
<p>Facebook: %s</p>
<p>Город: %s</p>
---------<br/>" // !!!!!!!!!!!! here
$row['first_name'], $row['last_name'], $row['email'], $row['facebook'], $row['otkuda']
);
CREATE TABLE foo (
id VARCHAR(64) DEFAULT (uuid()) PRIMARY KEY,
val varchar(16)
);
INSERT INTO foo (val) VALUES ('Test');
SELECT * FROM foo;
CREATE TABLE foo (
id VARCHAR(64) primary key,
val varchar(16)
);
INSERT INTO foo (id, val) VALUES (uuid(), 'Test');
SELECT * FROM foo;
SELECT id, SUM(price) sum_price
FROM tbl
GROUP BY id
ORDER BY sum_price DESC;
delete from news where description like 'Мы печем лучший % хлеб в стране.';
<?php
$type = 'test';
$f2 = function($s) use($type) {echo $s . "<>" . $type; };
$f2('b');
SELECT *
FROM table_1 T1
LEFT JOIN table_2 T2 ON JSON_CONTAINS(
array_id,
CAST(T2.`id` AS JSON),
'$'
);
SELECT
author,
count(*) books_count
FROM books
GROUP BY author
ORDER BY books_count DESC
;
-- using window functions
select distinct
uid, first_value(utm) over (partition by uid order by id desc) last_utm
from t;
-- using join
select t.uid, t.utm last_utm
from t
join (
select max(id) max_id from t group by uid
) max_ids on max_id = id;
-- using sub-query
select t.uid, t.utm last_utm
from t
where id = (select max(id) max_id from t group by uid having max(id) = t.id);
<?php
$random_string = strtoupper(bin2hex(random_bytes(12)));
echo $random_string;
select items.id, items.name, group_concat(img) images
from items
join item_images on items.id = item_images.item_id
join images on images.id = item_images.image_id
group by items.id, items.name;
$tags = array_column($val["tags"], "value");
echo implode(',', $tags);
select
_date,
sum(case when _ustr = 1 then _metr else 0 end) _ustr_1,
sum(case when _ustr = 2 then _metr else 0 end) _ustr_3,
sum(case when _ustr = 3 then _metr else 0 end) _ustr_3,
sum(case when _ustr = 4 then _metr else 0 end) _ustr_4,
sum(case when _ustr = 5 then _metr else 0 end) _ustr_5
from tbl
group by _date;