Ik wil van onderstaande voorbeeld van elke waarde in kolom a de hoogste 5 waardes in kolom b krijgen
Dus de waardes 1;1/5 2;1/5 3;1/5
Ik heb daarvoor dit script geschreven maar kan dit lijkt mij niet echt efficïent. Is er nog een betere manier.
            Dus de waardes 1;1/5 2;1/5 3;1/5
| a | b | 
| 1 | 1 | 
| 1 | 2 | 
| 1 | 3 | 
| 1 | 4 | 
| 1 | 5 | 
| 1 | 6 | 
| 2 | 1 | 
| 2 | 2 | 
| 2 | 3 | 
| 2 | 4 | 
| 2 | 5 | 
| 2 | 6 | 
| 3 | 1 | 
| 3 | 2 | 
| 3 | 3 | 
| 3 | 4 | 
| 3 | 5 | 
| 3 | 6 | 
Ik heb daarvoor dit script geschreven maar kan dit lijkt mij niet echt efficïent. Is er nog een betere manier.
PHP:
                    | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 | <?php $sql1 = "SELECT DISTINCT a FROM test ORDER BY a"; $result1 = mysql_query($sql1); $row1 = mysql_fetch_array($result1) $sql2 = "(SELECT * FROM test WHERE a = ".$row1["a"]." ORDER BY b LIMIT 5)"; while($row1 = mysql_fetch_array($result1)) { $sql2 = $sql2." UNION ALL (SELECT * FROM test WHERE a = ".$row1["a"]." ORDER BY b LIMIT 5)" } $result2 = mysql_query($sql2); while($row2 = mysql_fetch_array($result2)) { print_r($row2) } ?> | 
/u/155568/usericon.png?f=community) 
            :strip_exif()/u/18996/GoT_avatar.gif?f=community) 
            /u/8830/crop5df8eadcd55ca_cropped.png?f=community)