그룹화하기 전에 결과를 정렬하려고하지만 완료하지 못했습니다.MySQl GROUP BY 및 ORDER BY가 원하는 것을 수행하지 않음
SELECT DISTINCT product.id, product_number_value.att_value AS product_number, color_number_value.option_code AS color_number, size_value.option_code AS size_code, size_value.option_position AS size_position FROM product INNER JOIN product_attribute_relational AS product_number_relational ON product_number_relational.product_id = product.id INNER JOIN product_att_varchar AS product_number_value ON product_number_relational.product_att_id = product_number_value.product_att_id INNER JOIN product_attribute_relational AS color_number_relational ON color_number_relational.product_id = product.id INNER JOIN product_att_select AS color_number_select ON color_number_relational.product_att_id = color_number_select.product_att_id INNER JOIN attribute_option_value AS color_number_value ON color_number_select.att_value = color_number_value.option_id INNER JOIN product_attribute_relational AS size_relational ON product.id = size_relational.product_id INNER JOIN product_att_select AS size_select ON size_relational.product_att_id = size_select.product_att_id INNER JOIN attribute_option_value AS size_value ON size_select.att_value = size_value.option_id WHERE product_number_relational.att_id = 1 AND color_number_relational.att_id = 2 AND size_relational.att_id = 3 AND product.id IN (365, 366, 367, 368, 369, 371, 372, 373, 374) ORDER BY product.id ASC
결과는 다음 표입니다 :
나는이 쿼리가 product_number에 의해
id product_number color_number size_code size_position 365 F23740 311 S 24 366 F23740 311 M 25 367 F23740 311 L 26 368 F23740 311 XL 27 369 F23740 311 XS 23 371 F23745 213 S 24 372 F23745 213 M 25 373 F23745 213 L 26 374 F23745 213 XL 27
만약 I 그룹, color_number 내가 얻을 ID를 365 및 371
하지만 ID 및 371을 가져 오려면 그룹화하기 전에 결과를 size_position에 의해 첫 번째 순서대로 지정해야하기 때문입니다.
이 작업을 수행하는 방법에 대해 정말로 알지 못합니까?! ??
누군가 나를 도와 드릴까요 ??
감사합니다. 그것은 첫째 ID로 정렬합니다
... ORDER BY product.id, size_position ASC
, 그러나 size_position 기준 :
결과가 어떻게 나타나는지 설명 할 수 있습니까? – Kwebble
모두 감사합니다, 나는 '그룹화되지 않은'데이터를 통해 PHP 루핑으로 해결했습니다. 그것은 정말로 금식의 길이었다. 다시 한 번 감사드립니다! – Johan