是否有可用于从第二个表中订购商品的MYSQL查询。
我的例子 我正在列出我的商店...每个商店都有不同的产品在不同的表中。 所以我的商店列表显示了该商店中的产品数量..
有一个简单的MYSQL查询,所以我可以按产品数量订购我的商店
我的商店没有数字值,它计算第二张表中的行数
答案 0 :(得分:3)
如果我理解您的问题,您可能需要尝试以下内容:
SELECT stores.id store_id, COUNT(products.id) num_products
FROM stores
LEFT JOIN products ON (stores.id = products.store_id)
GROUP BY stores.id
ORDER BY num_products;
测试用例:
CREATE TABLE stores (id int, name varchar(10));
CREATE TABLE products (id int, store_id int);
INSERT INTO stores VALUES (1, 'store 1');
INSERT INTO stores VALUES (2, 'store 2');
INSERT INTO stores VALUES (3, 'store 3');
INSERT INTO stores VALUES (4, 'store 4');
INSERT INTO products VALUES (1, 1);
INSERT INTO products VALUES (2, 1);
INSERT INTO products VALUES (3, 1);
INSERT INTO products VALUES (4, 2);
INSERT INTO products VALUES (5, 3);
INSERT INTO products VALUES (6, 3);
结果:
+----------+--------------+
| store_id | num_products |
+----------+--------------+
| 4 | 0 |
| 2 | 1 |
| 3 | 2 |
| 1 | 3 |
+----------+--------------+
4 rows in set (0.00 sec)
您还可以在DESC
之后添加ORDER BY num_products
来降序排序:
+----------+--------------+
| store_id | num_products |
+----------+--------------+
| 1 | 3 |
| 3 | 2 |
| 2 | 1 |
| 4 | 0 |
+----------+--------------+
4 rows in set (0.00 sec)
答案 1 :(得分:0)
只要您有兴趣加入第二个表格,它就应该很简单。
Select a.* From `FirstTable` a
Inner Join `SecondTable` b on a.SomeCol = b.SomeCol
Order By b.OrderingCol