获取表中的列数

时间:2016-05-22 22:46:42

标签: php mysql

如果有意义,我正在尝试获取表中的列数。例如,我有5个表,每个表都有一列。我想获得有多少数据的总和,而不是得到这些列中所有数据的总和。如果这有意义吗?

这是我的意思图:

enter image description here

这是我的代码:

public function getNumber() {
    include("dbconnect.php");
    $query = "SELECT 
            (SELECT username FROM table1)
            + (SELECT username FROM table2)
            + (SELECT username FROM table3)
            + (SELECT username FROM table4)
            + (SELECT username FROM table5)";
    $result = mysqli_query($scriptdatasqlcon, $query);

    if (mysqli_num_rows($result) > 0) {
        echo mysqli_num_rows($result);
    } else {
        echo "UH OH";
    }
}

3 个答案:

答案 0 :(得分:2)

您应该使用http://www.w3schools.com/sql/sql_func_count.asp

SELECT COUNT(username) from table1

为您提供用户名不等于null的行数。

在您的情况下,您可能想要使用

SELECT COUNT(*) from table1

其中给出了table1中的行数。

针对您的具体情况:

SELECT (SELECT COUNT(*) from table1) + (SELECT COUNT(*) from table2) ... (SELECT COUNT(*) from table5) AS totalRow`

答案 1 :(得分:1)

也许你应该使用COUNT(*) - 例如

$query = "SELECT 
        (SELECT COUNT(*) FROM table1)
        + (SELECT COUNT(*) FROM table2)
        + (SELECT COUNT(*) FROM table3)
        + (SELECT COUNT(*) FROM table4)
        + (SELECT COUNT(*) FROM table5)";

答案 2 :(得分:1)

我想你需要这个;

Select (SELECT COUNT(*) FROM table1) + (SELECT COUNT(*) FROM table1) as Total

希望帮助,