انتخاب بیشترین عدد امروز Mysql


CREATE TABLE `order` (CREATE TABLE `order` 
(`id` int(11) NOT NULL, `price` int(11) NOT NULL, `datee` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `order` (`id`, `price` , `datee`) 
VALUES(3,200 ,'2017-10-10'),(4,200,'2017-10-15'),
(5,100,'2017-10-10'),
(6,600,'2017-10-10');

 


 


SELECT a.* FROM `order` a

INNER JOIN
(
SELECT MAX( price) AS maxx FROM `order`
where datee = CURDATE()
) b ON (b.maxx = a.price and a.datee = CURDATE())

دربرنامه فوق ابتدا در سsubquery رکوردهای امروز را درنظر میگیرد و بعد بیشترین رکورد را انتخاب میکند. سپس عدد انتخاب شده حاصل بیشترین عدد امروز است . فرض کنید در کنار جدول order ستون userid  را هم داریم و میخواهیم بدانیم عدد بدست آمده در امروز برای کیست .  (b.maxx = a.price and a.datee = CURDATE()) با این قسمت همه رکورد های امروز در جدول بخش from را در نظر میگیرم که عدد price  آن برابر بیشترین عدد بدست امده باشد آنگاه میتوان با تساوری قراردادن آن بیشترین را بدست آورد

 

 

https://sqlfiddle.com/#!9/8a97e/12

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *