私は多くのレコードを含むテーブルを持っています。私は要素が何回繰り返されたかを数える効率的な方法を探しています。テーブル内で何回要素が繰り返されているか
例テーブル:
id name
1 ana
2 john
3 tom
4 ana
5 john
私がこれまで行ってきたが、それは非効率的です。
$number = 0;
for ($i =1 ; $i <= mysql_num_rows($query) ; $i++)
for ($j = 1 ; $j <=mysql_num_rows($query); $j++)
if ($table[$i] == $table[$j])
$number++;
if ($number > 2)
echo $number;
SQLクエリまたはPHPコアロジックを使用しますか – user1127214
このテーブルはデータベースにありますか?もしそうなら、なぜコードで実行するのではなく、単にSQLを使用するのではないでしょうか? ( '名前の選択、名前によるテーブルグループからのカウント(*)など)。 – Chris
O(n²)ランタイムの複雑さでループが実行される...それは悪いです。 O(n)線形時間で要素を数えることができます。 – knittl