SELECT DATE(`date_insert`) AS `date`, SUM(`price`), AVG(`price`), COUNT(*)
FROM `b_sale_order`
WHERE (`canceled` = 'N') AND (`date_insert` BETWEEN :StartD AND :EndD)
GROUP BY `date`
ORDER BY `date`
SELECT *
FROM `table`
ORDER BY (`phone` = :phone) * 8 +
(`lastName` = :lastName) * 2 +
(`firstName` = :firstName) * 2 +
(`middleName` = :middleName) * 2 +
(`city` = :city)
DESC
SELECT `v`.`id_user`, `v`.`count`, ...
FROM (
SELECT `id_user`, COUNT(DISTINCT FROM_UNIXTIME(time_vizit, '%Y%m%d')) AS `count`
FROM `vizits`
WHERE `time_vizit` BETWEEN UNIX_TIMESTAMP(:startTime) AND UNIX_TIMESTAMP(:endTime)
AND `id_client` = :clientId
GROUP BY `id_user`
HAVING COUNT(*) > 2
) AS `v`
LEFT JOIN `users_hotspot` AS `uh` ON `uh`.`id_user` = `v`.`id_user`
SET @rand = (SELECT (MAX(`id`)-MIN(`id`))*RAND()+MIN(`id`) FROM `localities``);
SELECT * FROM `localities` WHERE WHERE `id` > @rand LIMIT 1;