Как выбрать одинаковые столбцы из всех строк?

У меня есть таблица с 50 строками и по 10 столбцов в каждой. Один из столбцов называется «phpclass» и содержит строку.
Фактическая запись строки может быть уникальной, но она также может быть одинаковой в разных строках, то есть в ходе запроса.

Я хотел бы сделать запрос к таблице и получить что-то по хитам с аналогичным значением в столбцах «phpclass».

то есть

$resultA = ["Orion", "Nova", "Alpha"];
$resultB = [1, 4, 3];

Может ли кто-нибудь помочь мне создать запрос для этого?

-3

Решение

Вы должны сделать запрос с 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
)
1

Другие решения

Я думаю ты хочешь

 SELECT phpclass, COUNT(*) count
FROM table
GROUP BY phpclass

Это вернет вам строки

 Orion    1
Nova     4
Alpha    5

показывая сколько строк имеют значения Orion и т. д. (не обязательно в таком порядке).

3

По вопросам рекламы [email protected]