我在這方面遇到了一些麻煩,我發現如何從多個列中獲取唯一值,並且我知道如何正常排序,但我無法看到混合兩個從MySQL表中取出唯一值並按出現次數排序
原來的SQL語句是在這裏:
$sql="SELECT DISTINCT UserID, UserIP FROM Visits WHERE PageID='".$_GET['p']."'";
它只是變得的其中兩個值是唯一的第一個實例,這樣的「mysql_numrows」的事情是行不通的。
這是從獲取數組循環中,它可以指望罰款事件,但在這一點上有點來不及整理
$sql5="SELECT Date, VisitID FROM Visits WHERE PageID='".$_GET['p']."' AND UserID='".$userid."' AND UserIP='".$userip."' ORDER BY Date";
$result5 = mysql_query($sql5);
$num5 = mysql_numrows($result5);
基本上,它應該得到基於兩列唯一值,算多少次出現,排序算的話,可能還排序最高匹配日期如有可能
任何建議將是巨大的,歡呼:)
而且它只是一個個人網站,我沒有實際對信息做任何事情,只是試圖學習更多的PHP
啊啊非常感謝,似乎工作得很好。有一個問題,還有另一個名爲'date'的列,我稍微修改了你的代碼以包含這個,並且將它添加到最後說'ORDER BY COUNT(*)DESC,Date DESC'。它雖然沒有做任何事情,但我猜是因爲count(*)部分,我究竟會如何工作? – Peter
@Peter如果您使用「GROUP BY」,則不能簡單地使用一個列值。你必須使用像MAX這樣的分組功能。請參閱上面我更新的答案。 –
啊是啊,這是有道理的,從來沒有做過這樣的事情,但至少我現在知道,歡呼的幫助:) – Peter