这是我在 stackoverflow 中的第一个问题,所以请对我好一点:)
我有一个包含列族的表,当我进行查询(使用 where 语句)时,我想将结果显示为具有相同列族的一组行
例如表是商店:
+----+--------+-------+
| id | family | money |
+----+--------+-------+
| 1 | 1 | 100 |
| 2 | 1 | 70 |
| 3 | 2 | 10 |
| 4 | 2 | 20 |
| 5 | 3 | 50 |
+----+--------+-------+
所以我想在执行这样的查询时:
SELECT * FROM shop where money=100 --(adding to the query of course what's needed)
它将选择这两个:
+-----+----------+---------+
| id | family | money |
+-----+----------+---------+
| 1 | 1 | 100 |
| 2 | 1 | 70 |
+-----+----------+---------+
最佳答案
您可以使用in
或exists
:
SELECT s.*
FROM shop
WHERE s.family IN (SELECT s2.family FROM shop s2 WHERE s2.money = 100);
关于php - 使用 sql 按家庭返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53502616/