子查询 - 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";
我有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";