我有一个包含50行的表,每行有10列。其中一列被称为" phpclass"并持有字符串。 实际的字符串条目可以是唯一的,但它也可以在不同的行上相同,即查询过程。
我想查询该表并接收具有类似值的命中行的内容" phpclass"列。
即
$resultA = ["Orion", "Nova", "Alpha"];
$resultB = [1, 4, 3];
有人可以帮我创建一个查询吗?
答案 0 :(得分:3)
我想你想要
SELECT phpclass, COUNT(*) count
FROM table
GROUP BY phpclass
这将返回行
Orion 1
Nova 4
Alpha 5
显示有多少行具有值Orion
等(不一定按此顺序)。
答案 1 :(得分:1)
您应该使用GROUP BY
进行查询,如下所示:
SELECT phpclass, COUNT(*) occurences
FROM mytable
GROUP BY phpclass
然后您可以使用类似mysqli_fetch_all
的内容来检索所有行,这将为您提供以下结构:
$result = mysqli_query($con, $sql);
$result = mysqli_fetch_all($result, MYSQLI_ASSOC);
// $result will be like:
// Array(
// Array("phpclass" => "Orion", "occurrences" => 1),
// Array("phpclass" => "Nova", "occurrences" => 4),
// Array("phpclass" => "Alpha", "occurrences" => 5)
// );
$resultA = array_column($result, "phpclass");
$resultB = array_column($result, "occurrences");
print_r ($resultA);
print_r ($resultB);
输出将是:
Array
(
[0] => Orion
[1] => Nova
[2] => Alpha
)
Array
(
[0] => 1
[1] => 4
[2] => 5
)