對不起,這個愚蠢的問題,但我不明白爲什麼我的數據顯示兩次。我的Group By子句有什麼問題?
這是一個非常簡單的查詢。數據庫表calendar_px目前只有三行和四個字段,其中一個用於日期,另一個用於一年,另一個(Brief)包含一些簡要內容。
因此,如果您訪問頁面MySite/Calendar/January_1,您應該可以看到DB表中具有匹配日期(Date2)字段(January_1)的所有年份和摘要。我的練習表有三個這樣的行:
1969 | So and so was born.
1969 | A volcano erupted.
1970 | They released a new song.
我的代碼完美地顯示了信息 - 除了它顯示兩次。我已經按照每個字段名稱對它進行了分組,不管是否使用Cal2。擴展,並沒有任何作品。看起來我一定犯了一個非常簡單的錯誤,但我不明白。
這裏是我的查詢?
$stm = $pdo->prepare("SELECT Cal2.N, Cal2.Date2, Cal2.Year, Cal2.Brief
FROM calendar_px Cal2
WHERE Cal2.Date2 = :MyURL
GROUP BY Cal2.Brief");
$stm->execute(array(
'MyURL'=>$MyURL
));
break;
}
while ($row = $stm->fetch())
{
$Year = $row['Year'];
$Brief[] = ''.$Year.' – '.$row['Brief'].'';
}
這是我在顯示頁面上...
echo join($Brief, '<br>');
你想通過GROUP BY子句實現什麼? – aidan
@Aidan - 我不希望三行的順序顯示兩次;我只希望每行顯示一次。我認爲GROUP BY子句是這樣做的,儘管可能有其他解決方案我不知道。 –
我不認爲我理解。你能追加當前輸出到你的問題嗎?如果您只想每行打印一次,則不需要「GROUP BY」子句。 – aidan