SELECT --выбрать
c.name as category_id, -- колонку name из c и обозначить её как category_id
r.id, r.name, r.country_id, p.category_id -- колонки id, name, country_id из p
FROM -- из
" . $this->table_name . " p --какой-то таблицы, обозначая её как p
LEFT JOIN -- соединив её слева
category c -- с таблицей category (обозначая её как c)
ON p.category_id = c.id -- по совпадению значений в колонках category_id и id
WHERE -- накладывая условие
p.id = ? -- поле id из p равно какому-то значению
LIMIT 0,1 -- и выбрать одну (первую) запись (а сортировки-то и нет! Какую считать первой?)
и чтобы в БД не было такого nickname, который передаётся в $nickname.
чтобы запись добавилась только при условии, что прошло времени с текущей даты 24 часа
$pdo->prepare("INSERT INTO `order`(user_id, date, date_end) VALUES(:userId, :date, DATE_ADD(:date, INTERVAL :days DAY))")
->execute(["userId" => 100,
"date" => date("Y-m-d"),
"days" => 10
]);
CREATE TABLE entries(
tran_date TIMESTAMP NOT NULL,
amount INT NOT NULL
);
INSERT INTO entries VALUES ('2022-01-01 00:01:00', 100),
('2022-01-01 01:01:00', 3400),('2022-01-01 02:01:00', -500),
('2022-01-02 00:01:00', 8000),('2022-01-02 01:01:00', -3900),
('2022-01-02 02:01:00', -900);
WITH day_amounts AS (
SELECT DATE(tran_date) AS day, SUM(amount) AS amount
FROM entries
GROUP BY DATE(tran_date)
)
SELECT day, SUM(amount) OVER (ORDER BY day) AS balance
FROM day_amounts;
WITH tmp AS (SELECT department.name as department_name, employee.name, ROW_NUMBER() OVER (PARTITION BY department_id) AS rownum
FROM employee LEFT JOIN department
ON employee.department_id = department.id)
SELECT * FROM tmp
WHERE rownum <= 2
SELECT new_name, length(new_name) FROM (
select 'Name is ' || first_name as new_name from table
);
SELECT p.*, JSON_ARRAYAGG(f.filename) AS files FROM product p
LEFT JOIN product2file p2f ON p2f.product_id=p.id
LEFT JOIN file f ON p2f.file_id=f.id
GROUP BY p.id;
create table tbl (
сol1 int,
col2 int
);
insert into tbl (col1, col2) values (1, 12), (1, 32), (2, 10), (2, 5), (3, 6), (3, 10);
CREATE VIEW tbl_sum AS SELECT tbl.*, SUM(tbl.col2) OVER (PARTITION BY tbl.col1) AS col3 FROM tbl;
SELECT * FROM tbl_sum;
(SELECT id FROM test1)
он для чего? Вы выбираете все записи из таблицы test1, что, как бы, очень подозрительно. А если там будет миллион записей?