好的,我有一个表在while循环中从MySQL表输出数据。它输出的一列不是静态存储在表中的,而是它在不同的MySQL表中出现的次数之和。
对不起,我不确定这是否容易理解。这是我的代码:

    $query="SELECT * FROM list WHERE added='$addedby' ORDER BY time DESC";
    $result=mysql_query($query);
    while($row=mysql_fetch_array($result, MYSQL_ASSOC)){
$loghwid = $row['hwid'];

$sql="SELECT * FROM logs WHERE hwid='$loghwid' AND time < now() + interval 1 hour";
$query = mysql_query($sql) OR DIE(mysql_error());
$boots = mysql_num_rows($query);

//Display the table
    }

上面是显示表格的代码。
如您所见,它从两个不同的MySQL表中获取数据。不过,我希望能够ORDER BY $boots DESC。但由于这是一个完全不同的表计数,我不知道如何去做。
我很感激你的帮助,谢谢。

最佳答案

有一个JOIN操作旨在。。。好。。。把两张不同的桌子连在一起。

SELECT list.hwid, COUNT(log.hwid) AS boots
FROM list WHERE added='$addedby'
LEFT JOIN log ON list.hwid=log.hwid
GROUP BY list.hwid
ORDER BY boots

我不确定最后一行中的ORDER BY boots在MySQL中是否能像这样工作。如果没有,只需在子查询中放入除最后一行以外的所有行。

关于php - 按行数排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2816048/

10-11 13:43