Php 显示其他结果的Sql查询

Php 显示其他结果的Sql查询,php,mysql,sql,Php,Mysql,Sql,我有 它确实返回了包含k字母的“ticket”,但除此之外,它还返回了所有其他不包含k的结果 这是商店的桌子: SELECT s.* FROM shop WHERE s.family IN (SELECT s2.family FROM shop s2 WHERE (s2.money like "%k%")) 我正在使用 +----+--------+-------+ | id | family | money | +----+--------+-------+ | 1 |

我有

它确实返回了包含k字母的“ticket”,但除此之外,它还返回了所有其他不包含k的结果

这是商店的桌子:

 SELECT s.* 
  FROM shop 
 WHERE s.family IN (SELECT s2.family FROM shop s2 WHERE (s2.money like "%k%"))
我正在使用

+----+--------+-------+
| id | family | money |
+----+--------+-------+
|  1 |      1 |  card |
|  2 |      1 |Cheque |
|  3 |      2 |coins  |
|  4 |      2 |ticket |    
+----+--------+-------+
因为我想将结果显示为具有相同族的一组行,所以我从另一个问题获得了此查询

您是否尝试过:

 IN (SELECT s2.family FROM shop s2 WHERE (s2.money like "%k%")); 

您使用的是之前发布的问题中的语句,在这种情况下可能无效。

将数字作为字符串进行比较是没有意义的。请参阅:那么,这些结果是什么?向我们展示源数据的示例和预期结果。老实说,你所说的似乎有点不太可能。这只是一个例子。钱实际上是一个我刚刚命名的文本,就像调试是程序员工作的一部分一样。您是否尝试只运行子查询并查看它返回的内容<代码>从商店s2中选择s2.family,其中(s2.money,如“%k%”)是什么意思?你想按家庭分组什么?@jason9你所说的家庭到底是什么意思?编辑问题以显示您想要的输出,您的意思不是很清楚。通常情况下,如果您按分组,这是因为您希望对记录进行计数,或对值列求和,或类似的操作。是否要统计每个族中的匹配记录?您研究过SQL中的分组查询吗?这将是一个相当简单的一个…你应该找到一个教程,并尝试它也许。这样你会学到更多。如果你仍然被困,我们可以帮你更多
SELECT * 
  FROM shop 
WHERE money LIKE "%text%";