私はこれについて過去1日(ここでも)読んでいましたが、適切なリソースが見つからなかったので、もう一度そこに飛び出しています:)
次の 2 つのクエリを確認してください。
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;
私が読んだすべてのことから、2 つのクエリが同じ結果を返し、2 番目のセットが 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'
Result Set for query 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 を削除しても同じ結果が返されるという事実は、GROUP_CONCAT 内で DISTINCT に問題があることを示しています。GROUP_CONCAT の外で GROUP BY を実行すると、複数の行が返されますが、これは私が求めているものではありません。
TransactionID DESC の順に、StoreNumber の GROUP_CONCAT DISTINCT リストを取得する方法についてのアイデアはありますか?
皆さんありがとう