2016-03-19 16 views
0

ben php fazlasını yapmak 3 sayılarını belirlemek nasıl veritabanında alanların listesini örnekSEÇ değer sayımı bölünmüş virgül

Field1 Field2 
Row1 name1  1,3,5 
Row2 name2  1,5,2 
Row3 name3  3,6,2 
. 
. 
. 
RowN NameN  ..... 

için, virgül ile birleştirilmiş olup varsa mysql ile? Teşekkürler

+0

Bir şekilde ne sorduğunuzu açıklayabilir misiniz? – Jeff

+0

Veritabanı tablosu alanında birden çok değere sahip olmamalıdır (bileşik değer oluşturma). Daha iyi uygulama, yabancı bir anahtar olarak ilk tablo satırının adını içeren ikinci bir tablo oluşturmak ve sonra, başvurmak istediğiniz ilk tablodan adı olan ikinci tablodan tüm değerleri almak için söylenen bir sorguyu çalıştırmaktır. Bu normalleştirmenin bir parçasıdır ve db'nin her alanında yalnızca bir değer olmasını sağlar. – gavgrif

cevap

-1
$array = array(); 
$result = mysql_query("SELECT Field2 FROM table"); 
while($row = mysql_fetch_assoc($result)) 
{ 
    $merge = explode(',', $row['Field2']); 
    $array = array_merge($array, $merge); 
} 
$count = array_count_values($array); 
rsort($count); 
$final = array_slice($count, 0, 3); 
print_r($final); 
+0

Kodunuzu açıklayabilir ve bu soruya nasıl cevap verebilir? Sadece kod cevabı düşük kalite olarak kabul edilir. – Dijkgraaf

+0

Ek 2 satır daha ekledi. Yeterli olduğunu düşündüm –