2

performanta_cpu我的表中有一行modele ,该行包含不同的数字 cpu frecv。例如:800, 1200, 1500,等,我想了解所有的frecv。但如果 4 台设备具有相同的 cpu 速度,则显示第 4 次相同的 frecv。

html <select>是否有可能在ex: 800, 1000, 1200, , 等中只获得一次 frecv 1400

这是我的代码:

$sql = "SELECT * FROM $tbl_name ORDER BY performanta_cpu DESC";
    foreach ($dbh->query($sql) as $linie)
        {

    print '<option value="'.$linie["performanta_cpu"].'">'.$linie["performanta_cpu"].'</option>'; }?>

这就是我得到的:

           <option value="800">800</option>
           <option value="800">800</option>
           <option value="2000">2000</option>
           <option value="2000">2000</option>
           <option value="1600">1600</option>
           <option value="1500">1500</option>
           <option value="1500">1500</option>
           <option value="1500">1500</option>
           <option value="1400">1400</option>
           <option value="1000">1000</option>
           <option value="1000">1000</option>
           <option value="1000">1000</option>
           <option value=""></option>            

正确的会是这样的:

           <option value="1600">1600</option>
           <option value="1500">1500</option>
           <option value="1400">1400</option>
           <option value="1300">1300</option>
           <option value="1200">1200</option>
           <option value="1100">1100</option>
           and so...
4

4 回答 4

4

将查询更改为

SELECT DISTINCT(performanta_cpu) FROM $tbl_name ORDER BY performanta_cpu DESC
于 2013-02-22T22:30:03.947 回答
3

你可以SELECT DISTINCT(performanta_cpu) FROM $tbl_name ORDER BY CAST(performanta_cpu AS UNSIGNED) DESC

于 2013-02-22T22:30:24.670 回答
1

如果您要添加 DISTINCT,它必须有效。

SELECT DISTINCT (performanta_cpu) FROM $tbl_name ORDER BY performanta_cpu

于 2013-02-22T22:34:03.860 回答
0

试试这个

$sql = "SELECT * FROM $tbl_name ORDER BY performanta_cpu DESC";
$cpu = array();
foreach ($dbh->query($sql) as $linie)
    $cpu[] = $linie["performanta_cpu"];

$cpu = array_unique($cpu);

foreach($cpu as $val)
    print '<option value="'.$val.'">'.$val.'</option>'; }?>
于 2013-02-22T22:31:34.140 回答