Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

انتخاب کمترین رکورد در mysql

تاریخ انتشار: 23 شهریور 1395

Select min Rows in mysql Group by userid

سلام . روز بخیر. فرض کنید هر مشتری مبالغ مختلفی خرید داشته است در دیتابیس userid را به همراه مبالغ مختلف خرید او ذخیره کرده ایم حالا میخواهیم کمترین خرید هر مشتری را بدست آوریم

[sql]
CREATE TABLE `order` (
`id` int(11) NOT NULL,
`userid` int(11) NOT NULL,
`price` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `order` (`id`, `userid`, `price`) VALUES
(3, 1, 100),
(4, 1, 200),
(5, 3, 100),
(6, 3, 600);

[/sql]

حالا فرض کنید کاربر شماره 1 و 3 هر دو 2 خرید داشته اند ما میخواهیم هر کاربر تفکیک شود و کمترین خرید را برای او نمایش دهد

[sql]
SELECT a.id,a.userid,price FROM `order` a

INNER JOIN
(
SELECT t.userid , MIN(t.price) AS miin
FROM `order` t
GROUP BY userid
) b ON b.miin = a.price and b.userid = a.userid
[/sql]

 

نتیجه

id —|—userid—-|—price

3     |     1        |     100

5     |     3        |     100

 https://sqlfiddle.com/#!9/c9bad/2

 

 

 

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

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