子查询 - MySQL - PHP

Subquery - MySQL - PHP

我有2张桌子。

表2结构:

  name
  os
  count

表1结构:

 name

表2的例子: 弗雷德 Android 50 汤姆 iOS 3 汤姆 iOS 3 弗雷德 Android 1 弗雷德 Android 1 詹姆斯 iOS 20

表 1 有一个名称列表(唯一)。

我当前的查询(存储在 PHP 变量 $sqlx 中)是

$sqlx = "SELECT COUNT(*) AS numberOfRows FROM table2 where name = 'Fred' AND  count < '6' AND os = 'iOS' GROUP BY name";

如何进行子查询,这样我就不必输入 'Fred' 以便从 table1 中选择名称?

添加 IN 意味着您将检查此列表中的所有项目。然后使用第二个 select 查询,您只是从 table1 中提取所有名称。如果需要,您可以在此处施加更多条件。

$sqlx = "SELECT COUNT(*) AS numberOfRows FROM table2 WHERE name IN (SELECT name FROM table1) AND count < '6' AND os = 'iOS' GROUP BY name";