CREATE TABLE Data (d DATE, i INT);
INSERT INTO Data VALUES ('2017-02-01', 10), ('2017-02-05', 6),
('2017-02-05', 7), ('2017-02-07', 4);
DELIMITER $$
CREATE PROCEDURE all_those_days(IN start DATE, IN stop DATE)
BEGIN
DROP TEMPORARY TABLE IF EXISTS series;
CREATE TEMPORARY TABLE series (d DATE PRIMARY KEY) ENGINE = MEMORY;
WHILE start < stop DO
INSERT INTO series VALUE (start);
SELECT DATE_ADD(start, INTERVAL +1 DAY) INTO start;
END WHILE;
SELECT series.d, COALESCE(SUM(Data.i), 0) AS i
FROM series LEFT JOIN Data ON series.d = Data.d GROUP BY series.d;
END $$
DELIMITER ;
CALL all_those_days('2017-02-01', '2017-02-10');
SELECT
`Ob`.`id` AS `id`,
@count_details := (SELECT count(*)
FROM game.Details D
WHERE D.objectId = Ob.id AND D.status = 1)
FROM game.`Object` Ob
WHERE status = 1;
SELECT
`Ob`.`id` AS `id`,
D.count_details
FROM game.`Object` Ob
JOIN (SELECT objectId, count(*) AS count_details
FROM game.Details AS gD
WHERE gD.status = 1
GROUP BY gD.objectId) AS D ON D.objectId = `Ob`.`id`
WHERE `Ob`.status = 1;
`Ob`.`id`
. любимые = [a, b, c]
нелюбимые = [d, e, f]
function menu(лимит){
result = []
while питательность(result) < лимит{
if random() > 0.3 // число взято наобум
продукт = случайный(любимые)
else
продукт = случайный(нелюбимые)
if продукт не в result
добавить продукт в result
}
выбросить из result последнее
return result
}
SELECT
calendar.*,
subjects.id,
subjects.subject_name,
teachers_users.full_name AS teach_name
FROM calendar
JOIN subjects ON calendar.subject = subjects.id
JOIN teachers_users ON subjects.subject_teacher = teachers_users.id
WHERE calendar.class = 1;
SELECT * FROM T WHERE T.`артикул` = a
UNION DISTINCT
SELECT * FROM T WHERE T.`название` = n
UNION DISTINCT
SELECT * FROM T WHERE T.`бренд` = b;