我最近一直试图获得SQL的掌握,我想知道你是否可以解释如何在WHERE/AND OR
中使用COUNT()
来返回具有特定行数的行数标准......
或者我正在调查错误的功能? 欢迎任何有用的评论
编辑:继续我正在使用的内容,我有一个简单的SELECT WHERE
查询来打印出profileName
和profileIcon
。 我正在使用此作为测试来查看COUNT
是否适用于我想要的内容... 然后我想运行COUNT
以查看标准中有多少行
$query = $con->query("SELECT * FROM user_settings WHERE Username='" . $_SESSION['user'] . "'");
while($row = $query->fetch_array()) {
echo '<tr><th>Current Icon:</th><td><img src="' . $row['ProfileIcon'] . '" /></td></tr>';
echo '<tr><th>Current Name:</th><td>' . $row['ProfileName'] . '</td></tr>';
}
$query = $con->query("SELECT SUM(CASE WHEN Username='" . $_SESSION['user'] ."' THEN 1 ELSE 0 END) FROM user_settings");
var_dump($query);
var_dump
生成:object(mysqli_result)#3 (0) { }
答案 0 :(得分:1)
对于&#34;有条件的&#34; COUNT
,您可以使用CASE
表达式和SUM
,例如
SUM(CASE WHEN ColumnA = 'Bob' THEN 1 ELSE 0 END)
会计算ColumnA
为Bob
的行数,但会在结果集中包含所有行(无论它们是否有Bob
)。
答案 1 :(得分:0)
这样的事情:
select x, count(*)
from y
where x = ?
group by x
having count(*) > ?
order by x
having子句是可选的。
答案 2 :(得分:0)
我建议您通读the documentation for COUNT。它包含了相当详细解释的例子。
一个例子:
SELECT COUNT(*) FROM pet;
这会计算pet
表中找到的所有行。您可以在此之后附加WHERE语句以包含特定条件。