我一直在閱讀有關這在過去的一天(甚至在這裏),並沒有找到合適的資源,所以我有再次彈出出來:)MySQL的GROUP_CONCAT DISTINCT訂貨異常
查閱這些兩個查詢:
SELECT DISTINCT transactions.StoreNumber FROM transactions WHERE PersonID=2 ORDER BY transactions.transactionID DESC;
和
SELECT GROUP_CONCAT(DISTINCT transactions.StoreNumber ORDER BY transactions.transactionID DESC SEPARATOR ',') FROM transactions WHERE PersonID=2 ORDER BY transactions.transactionID DESC;
從一切我讀過我希望這兩個查詢返回相同的結果,與第二組分組到CSV。他們不是。
結果集查詢1(圖片在其自己的行中的每個值,這裏格式化結果是麻煩的):
'611' '345' '340' '310' '327' ' 323' '362' '360' '330' '379' '356' '367' '375' '306' '354' '389' '343' '346' '357' '733' '370' '347' '703' '355' '341' '342' '358' '351' '319' '365' ' 372' '368' '353' '363' '349' '369' '336' '364' '202' '366' '416' '731'
結果集查詢2: 611,379,375,389,703,355,351,372,368,362,342,365,353,341,733,347,336,319,354,306,345,364,202,358,370,343,366,349,356,367,369,416,323,346,731,360,363,330,310,357,340,327
如果我刪除了DISTINCT子句,結果排隊。
任何人都可以指出我做錯了上述查詢之間的區別?
從每個查詢中刪除DISTINCT返回相同結果的事實表明DISTINCT在GROUP_CONCAT中存在問題。在GROUP_CONCAT之外執行GROUP BY會導致返回多行,這不是我所追求的。
有關如何以TransactionID DESC的順序獲得StoreNumber的GROUP_CONCAT DISTINCT列表的任何想法?
感謝所有
謝謝戈登 - 這解釋了很多,並完美地整理了我的問題。 – w001y