SELECT *
FROM `car`
WHERE `status` = '1' AND
NOT EXISTS (
SELECT 1
FROM `event`
WHERE `id_car` = `car`.`id` AND (
'01.03.2019 15:40:00' BETWEEN `date_start` AND `date_end` OR
'01.03.2019 18:30:00' BETWEEN `date_start` AND `date_end` OR
('01.03.2019 15:40:00' < `date_start` AND '01.03.2019 18:30:00' > `date_end`)
)
)
SELECT @n:=@n+1 AS nn, u.*
FROM users u JOIN (SELECT @n:=0)
ORDER BY u.rating DESC
LIMIT 10
SELECT * FROM users ORDER BY rating DESC LIMIT 5, 1
SELECT * FROM table t WHERE active = 1 AND NOT EXISTS (
SELECT 1 FROM table WHERE active = 1 AND num > t.num
)
SELECT `id1`, `id2`, `id3`, COUNT(*) AS `count`, `p2`
FROM `table`
GROUP BY `id1`, `id2`, `id3`, `p2`
ORDER BY NULL
SELECT g.*
FROM table_goods g
JOIN table_goods_params p1 ON p1.goods_id = g.id AND p1.param_id = 10 AND p1.value = "значение1"
JOIN table_goods_params p2 ON p2.goods_id = g.id AND p2.param_id = 11 AND p2.value = "значение2"
WHERE g.price > '50'
SELECT
COUNT(DISTINCT u1.id) first_level_refs_count,
COUNT(DISTINCT u2.id) second_level_refs_count,
COUNT(DISTINCT u3.id) third_level_refs_count
FROM users u1
LEFT JOIN users u2 ON u2.ref = u1.username
LEFT JOIN users u3 ON u3.ref = u2.username
WHERE u1.ref = ?
SELECT i.name
FROM `items` i
JOIN `item_attribute` ia ON ia.item_id = i.id AND ia.attribute_id = :aid
JOIN `values` v ON v.attribute_id = ia.attribute_id
WHERE v.value > 10
-- Запрос на выборку всех квартир, свободных на определенную дату
SELECT * FROM Apartment a
WHERE NOT EXISTS (
SELECT 1 FROM Apartment_Dates
WHERE apartment_id = a.id AND ? BETWEEN arrival_time AND departure_time
);
-- Запрос на выборку всех квартир, свободных в определенный промежуток дат
SELECT * FROM Apartment a
WHERE NOT EXISTS (
SELECT 1 FROM Apartment_Dates
WHERE apartment_id = a.id AND
(arrival_time BETWEEN ? AND ? OR departure_time BETWEEN ? AND ?)
);
-- Запрос на выборку всех квартир, занятых в определенный промежуток дат
SELECT * FROM Apartment a
WHERE EXISTS (
SELECT 1 FROM Apartment_Dates
WHERE apartment_id = a.id AND
(arrival_time BETWEEN ? AND ? OR departure_time BETWEEN ? AND ?)
);
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(groups, ',', g.n), ',', -1) groupName
FROM (
SELECT @n:=@n+1 n FROM
(select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) s0,
(select 0 union all select 1 union all select 3 union all select 4 union all select 5 union all select 6 union all select 6 union all select 7 union all select 8 union all select 9) s1,
(SELECT @n:=0) sg
) g
JOIN Item ON CHAR_LENGTH(groups)-CHAR_LENGTH(REPLACE(groups, ',', '')) >= g.n-1
ORDER BY id, n
SELECT * FROM polzovateli_statistica ps
WHERE NOT EXISTS (
SELECT 1 FROM polzovateli_statistica WHERE uid = ps.uid AND started > ps.started
)