簡體   English   中英

來自多個表的mysql_num_rows

[英]mysql_num_rows from multiple tables

我想計算5個表格中的字段數量並顯示結果。 我目前只在一張桌子上做

    $variable = mysql_num_rows(mysql_query("SELECT id FROM table1"));

什么是最有效的辦法,包括和計算所有idtable2table3table4table5

謝謝

使用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"));

不要從數據庫中獲取所有行,只需獲取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;

不要創建UNION或JOIN,如果您只需要計數,這是一項繁重的工作。

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

SELECT COUNT(id) FROM table2

等等

嘗試這樣的聯合語法:

$variable = mysql_num_rows(mysql_query("
SELECT * FROM(
  SELECT id FROM table1
  UNION
  SELECT id FROM table2
  UNION
  SELECT id FROM table3
  UNION
  SELECT id FROM table4
  UNION
  SELECT id FROM table5
)unionNum
"));

完成,祝你好運

第一種方法:

$query = mysql_query("
    select * from(
        SELECT id FROM table1
        union
        SELECT id FROM table2
        union
        SELECT id FROM table3
        union
        SELECT id FROM table4
    )
");
while ($row = mysql_fetch_assoc($query)) {
    //some operations
}
$variable = mysql_num_rows($query);

第二種方法:

$query = mysql_query("
    select count(*) cnt from(
        SELECT id FROM table1
        union
        SELECT id FROM table2
        union
        SELECT id FROM table3
        union
        SELECT id FROM table4
    )
");

while ($row = mysql_fetch_assoc($query)) {
    $variable = $query['cnt'];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM