Php 显示其他结果的Sql查询
我有 它确实返回了包含k字母的“ticket”,但除此之外,它还返回了所有其他不包含k的结果 这是商店的桌子: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 |
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%";