У меня есть список продуктов, которые продаются, и я пытаюсь составить список SUM, отсортированный по продавцу и сумме цены, но он не работает так, как написано в книге.
Я читаю HeadFirst SQL (который касается MySQL), и то, что я пытаюсь, не работает как заявления, написанные в книге. Я тренируюсь с MariaDB, но MariaDB и MySQL почти одинаковы, так что я думаю, что проблема не приходит из-за этой разницы, и я не могу понять, почему это происходит.
This is information about COLUMNS
MariaDB [headfirstdrinks]> DESC movie_table;
+-----------+--------------+------+-----+----------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+----------+----------------+
| movie_id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(50) | NO | | NULL | |
| rating | varchar(2) | NO | | NULL | |
| category | varchar(15) | NO | | misc | |
| purchased | date | NO | | NULL | |
| seller | varchar(15) | NO | | In Stock | |
| price | decimal(5,2) | NO | | 0.00 | |
+-----------+--------------+------+-----+----------+----------------+
And This is Table
MariaDB [headfirstdrinks]> SELECT title, seller, price FROM movie_table;
+------------------------------+----------+-------+
| title | seller | price |
+------------------------------+----------+-------+
| Monsters, inc. | Jessie | 2.00 |
| The Godfather | Jessie | 15.00 |
| Gone with the Wind | Jessie | 11.00 |
| American Pie | Jessie | 8.00 |
| Nightmare on Eim Street | Jessie | 5.00 |
| Casablanca | Nicole | 11.00 |
| Big Adventure | Nicole | 2.00 |
| Greg:The Untold Story | Nicole | 8.00 |
| Mad Clowns | In Stock | 11.00 |
| Paraskavendekariaphobia | Brown | 5.00 |
| Rat named Darcy,A | Brown | 2.00 |
| End of the Line | Brown | 8.00 |
| Shark Bait | Brown | 2.00 |
| Angry Pirate | Brown | 15.00 |
| Potentially Habitable Planet | Brown | 5.00 |
+------------------------------+----------+-------+
SELECT seller, SUM(price) FROM movie_table ORDER BY SUM(price) DESC, seller;
+--------+------------+
| seller | SUM(price) |
+--------+------------+
| Jessie | 110.00 |
+--------+------------+
\\There's no Nicole and Brown (i don't know why,
\\but seems like this is caused because SUM is a function ),
\\so i tried "GROUP BY"
SELECT seller, SUM(price) FROM movie_table GROUP BY seller ORDER BY price DESC;
+----------+------------+
| seller | SUM(price) |
+----------+------------+
| In Stock | 11.00 |
| Nicole | 21.00 |
| Brown | 37.00 |
| Jessie | 41.00 |
+----------+------------+
\\this is ascending even though i put DESC so i put ASC
SELECT seller, SUM(price) FROM movie_table GROUP BY seller ORDER BY price ASC, seller;
+----------+------------+
| seller | SUM(price) |
+----------+------------+
| Jessie | 41.00 |
| Brown | 37.00 |
| In Stock | 11.00 |
| Nicole | 21.00 |
+----------+------------+
\\and this is even not Ascending , as i see 'In Stock' upper than 'Nicole'
что я сделал не так ???