我希望计算5个表中的字段数量,并显示结果。我目前对单个表执行此操作。
$variable = mysql_num_rows(mysql_query("SELECT id FROM table1"));包含和统计来自table2、table3、table4和table5的所有id的最有效方法是什么
谢谢
发布于 2012-11-30 16:24:25
使用UNION ALL组合所有表上的SELECT查询,以获得所有表中的ID总数。改为使用UNION从所有表中获取distinct ID的总数。
$variable = mysql_num_rows(mysql_query("
"SELECT id FROM table1 " .
"UNION ALL " .
"SELECT id FROM table2 " .
"UNION ALL " .
"SELECT id FROM table3 " .
"UNION ALL " .
"SELECT id FROM table4 " .
"UNION ALL " .
"SELECT id FROM table5"));发布于 2012-11-30 16:26:15
不要从你的数据库中获取所有的行,只获取id的个数。让MySQL代替PHP来计算。
$variable1 = mysql_query("SELECT COUNT(id) FROM table1");
$variable2 = mysql_query("SELECT COUNT(id) FROM table2");
$variable3 = mysql_query("SELECT COUNT(id) FROM table3");
$variable4 = mysql_query("SELECT COUNT(id) FROM table4");
$variable5 = mysql_query("SELECT COUNT(id) FROM table5");
$variable = $variable1 + $variable2 + $variable3 + $variable4 +$variable5;既不要加入联合也不要加入,如果你只是需要计数,这是一项繁重的工作。
发布于 2012-11-30 16:26:58
SELECT count(t1.id)+count(t2.id)+count(t3.id)+count(t4.id)+count(t5.id) from table1 as t1, table2 as t2, table3 as t3, table4 as t4, table5 as t5
https://stackoverflow.com/questions/13641373
复制相似问题