Я читал об этом в течение прошедшего дня (даже здесь), так и не нашел подходящий ресурс, поэтому я выскакиваю его туда снова :)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 BY вне GROUP_CONCAT приводит к возврату нескольких строк, а это не то, что мне нужно.
Любые идеи о том, как я могу получить список GROUP_CONCAT DISTINCT из StoreNumber, в порядке транзакции DESC?
Спасибо всем
Спасибо, Гордон - это объясняет многое и отлично разбирается в моей проблеме. – w001y