我承認我從其他的答案借用group_concat()
功能:)
讀取來自docs本段後:
The default behavior for UNION is that duplicate rows are removed from the result.
The optional DISTINCT keyword has no effect other than the default because it also
specifies duplicate-row removal. With the optional ALL keyword, duplicate-row removal
does not occur and the result includes all matching rows from all the SELECT statements.
假設下表(testdb.test
):
ID Name Price
1 Item-A 10
2 Item-A 15
3 Item-A 9.5
4 Item-B 5
5 Item-B 4
6 Item-B 4.5
7 Item-C 50
8 Item-C 55
9 Item-C 40
您可以將網頁此錶行(9行)或組(3組的基礎上,該項目的名稱)。
如果您想頁面基礎上,項目組的項目,這應該幫助:
SELECT
name, group_concat(price)
FROM
testdb.test
GROUP BY name
LIMIT 1 , 3
UNION SELECT
name, group_concat(price)
FROM
testdb.test
GROUP BY name
LIMIT 0 , 3; -- Constant 0, range is the same as the first limit's
如果您想頁基於所有商品的物品(我不認爲這是什麼你問的,但以防萬一它可以幫助別人),這應該幫助:
SELECT
name, price
FROM
testdb.test
LIMIT 1 , 5
UNION SELECT
name, price
FROM
testdb.test
LIMIT 0 , 5; -- Constant 0, range is the same as the first limit's
要注意一個非常重要的事情是如何你必須修改限制。第一個限制是你的鑰匙,你可以從任何限制開始,只要它是< = count(*)
但你必須有與第二個限制相同的範圍(即第一個例子中的3
和第二個例子中的5
)。第二個限制總是從0
開始,如圖所示。
我很享受這方面的工作,希望這有助於。
我可以選擇這樣的: 選擇 *,GROUP_CONCAT(ITEMPRICE),而有問題 的「*」,這已經包括了「ITEMPRICE」,這是我後直接設置與GROUP_CONCAT()? – 2012-07-28 04:36:43
我不太清楚你的意思。你剛剛寫的查詢似乎沒有意義。 「*」的問題是什麼意思? – Fluffeh 2012-07-28 04:39:45
我剛剛編輯我的帖子,堆棧溢出改變了我的「*」符號爲「」(只是沒有) – 2012-07-28 04:41:32