[英]Php mysql Query two usernames in one row based on id from another table
[英]Only get one occurance of a table row in mysql php based on id
我有一張看起來像這樣的桌子
id | itemID | catID | Title ---------------------------------------------------------------------------- 0 3 4 Hello 1 3 6 Hello 2 4 4 Yo 3 4 8 Yo 4 5 2 Hi 5 1 3 What
我想做一個MySQL PHP選擇只獲得一次itemID。 正如您所看到的,它們是相同的項目,只是在不同的類別中。
這是我試過的
SELECT * FROM Table GROUP BY itemID
這似乎不起作用,它仍然只是顯示重復。
這是你想要的? http://www.sqlfiddle.com/#!2/5ba87/1
select itemID, Title from test group by itemID;
就MySQL而言,數據都是唯一的,因為您需要所有列。 你必須更具體。
你只想要itemID(或其他專欄)嗎? 然后這樣說:
select [column] from Table GROUP BY itemID
您想要特定商品ID的最后一個條目嗎? 然后說:
select * from Table where itemID = 1 ORDER BY id DESC
還是第一個?
select * from Table where itemID = 1 ORDER BY id
如果這些都不是您想要的,那么您可能需要重新構建表格。 看起來您需要不同類別的商品。 如果是這樣,那么您將要將它們拆分為新的連接表,因為項目和類別之間存在多對多關系。 我建議閱讀數據庫規范化,這樣你就不會復制數據(例如你使用的是標題)。
如果你想要不同的itemID的所有東西,你可以通過選擇所有不同的itemID,然后根據第一個查詢的結果做一系列選擇來做一個很長的路線。
select distinct(`itemID`) from Table
然后在PHP代碼中,執行以下操作:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$itemID = $row['itemID'];
$sql2 ="SELECT * FROM Table WHERE 1 and `itemID`=\"$itemID\" limit 1";
$result2 = @mysql_query($sql2, $connection);
while ($row2 = mysql_fetch_array($result2))
{
$id = $row2['id'];
$itemID = $row2['itemID'];
$catID = $row2['catID'];
$Title = $row2['Title'];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.