Найдите запись, в которой наименьшая сумма появляется в MySql - PullRequest
0 голосов
/ 11 июля 2020

У меня есть 2 таблицы Забронировано

+-----------+------------+---------+------------+
| ID_Booked | ID_Member  | ID_Book |    Date    |
+-----------+------------+---------+------------+
|         1 |          1 |       4 | 2020-07-10 |
|         2 |          3 |       1 | 2020-05-09 |
|         3 |          1 |       3 | 2020-06-04 |
|         4 |          2 |       2 | 2020-07-09 |
|         5 |          4 |       1 | 2009-07-09 |
+-----------+------------+---------+------------+

Книги

+---------+-----------------------------+-----------+-------+---------------+
| ID_Book | Tittle                      | Genre     | Price | Author        |
+---------+-----------------------------+-----------+-------+---------------+
|       1 | Mengejar Mimpi              | Novel     | 24000 | Aries M.Z.    |
|       2 | Sistem Basis Data           | Tech      | 32000 | Fathansyah    |
|       3 | Global Business Today Bed   | Business  | 40000 | Mc. Graw Hill |
|       4 | Object Oriented Programming | Tech      | 35000 | Rinaldi Munir |
|       5 | Algoritma dan Pemrograman   | Tech      | 65000 | Rinaldi Munir |
+---------+-----------------------------+-----------+-------+---------------+

Я сейчас работаю над этим запросом, но результат неверно.

SELECT B.*, MIN(Total) FROM (SELECT COUNT(*) AS Total FROM booked GROUP BY ID_Buku) AS Results, books B

Вывод

+---------+----------------+-------+-------+------------+------------+
| ID_Buku | NM_Buku        | Jenis | Harga | Pengarang  | MIN(Total) |
+---------+----------------+-------+-------+------------+------------+
|       1 | Mengejar Mimpi | Novel | 24000 | Aries M.Z. |          1 |
+---------+----------------+-------+-------+------------+------------+

Результат, который мне нужен:

+---------+-----------------------------+-------+-------+------------+------------+
| ID_Buku | NM_Buku                     | Jenis | Harga | Pengarang  | MIN(Total) |
+---------+-----------------------------+-------+-------+------------+------------+
|       2 | Sistem Basis Data           | Novel | 24000 | Aries M.Z. |          1 |
|       3 | Global Business Today Bed   | Novel | 24000 | Aries M.Z. |          1 |
|       4 | Object Oriented Programming | Novel | 24000 | Aries M.Z. |          1 |
+---------+-----------------------------+-------+-------+------------+------------+

Вы можете помочь мне это исправить? Спасибо. Простите за плохой английский sh

1 Ответ

0 голосов
/ 11 июля 2020

Вашему вопросу не хватает ясности, но на мой взгляд, то, что вы опубликовали, может быть, это сработает, насколько я понимаю, вы можете захотеть показать минимальную цену на всех записях, кроме записи с минимальной ценой, и посчитать число тех же записей, если это так, вы можете попробовать это.

select 
b.Id_book as ID_Buku ,
b.tittle as NM_Buku , 
b.genre as Jenis , 
 (select min(price) from books) as Harga ,
 (select Author from books where price= (select min(price) from books )) as Pengarang,count(b.Id_book)  
 from booked a, books b 
 where a.ID_Book = b.ID_Book and b.price != (select min(price) from books)
 group by 
 b.Id_book  ,
 b.tittle  , 
b.genre   , 
 (select min(price) from books)  ,
 (select Author from books where price= (select min(price) from books ))
 order by 1;

Скрипты вставки, которые я использовал для сопоставления с опубликованными вами данными.

create table Booked
(
 ID_Booked integer,
 ID_Member integer, 
 ID_Book integer,   
 Date  date  

);

create table Books
(
ID_Book integer, 
Tittle  varchar(300),
Genre  varchar(100),
Price integer, 
Author varchar(100)
);

insert into Booked values
(          1 ,          1 ,       4 , '2020-07-10' ),
(          2 ,          3 ,       1 , '2020-05-09' ),
(          3 ,          1 ,       3 , '2020-06-04' )
,(         4 ,          2 ,       2 , '2020-07-09' )
,(         5 ,          4 ,       1 , '2009-07-09');

insert into books values
(       1 , 'Mengejar Mimpi'              , 'Novel'    , 24000 , 'Aries M.Z.'    ),
(       2 , 'Sistem Basis Data'           , 'Tech'     , 32000 , 'Fathansyah'    ),
(       3 , 'Global Business Today Bed'   , 'Business' , 40000 , 'Mc. Graw Hill' ),
(       4 , 'Object Oriented Programming' , 'Tech'     , 35000 , 'Rinaldi Munir' ),
(       5 , 'Algoritma dan Pemrograman'   , 'Tech'     , 65000 , 'Rinaldi Munir' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...