2016-04-22 19 views
-1

我正在尋找可以在「order by」子句中使用多少個列,例如我有一個列NAME asc,START_DATE asc,SKU_GROUP asc,並希望在order子句中添加SKU_NAME asc。我目前正在使用1組,但爲了好奇,MySQL中可以使用多少個?mysql中允許多少個按列排序,類似group by?

SELECT pop.SUB_ELEMENT, pop.NAME, sub_element.LDESC AS SUB_NAME, DATE_FORMAT(journey_visits.START_DATE, '%b %d %Y %h:%i %p') AS START_DATE, visit_sku.IS_CHECK,visit_sku.TYPE AS `SKU_TYPE`,brand.LDESC AS `SKU_GROUP`,sku.LDESC AS `SKU_NAME`,sku.SKU AS `MATERIAL` FROM visit_sku 
LEFT JOIN journey_visits ON journey_visits.VISIT_ID = visit_sku.VISIT_ID 
LEFT JOIN pop ON journey_visits.POP_ID = pop.POPID 
LEFT JOIN sub_element ON sub_element.SubElementID=pop.SUB_ELEMENT 
LEFT JOIN sku ON visit_sku.SKU_ID = visit_sku.SKU_ID AND visit_sku.SKU_ID = sku.SKU 
LEFT JOIN brand ON sku.brandid = brand.BRANDID 
WHERE DATE(journey_visits.START_DATE) BETWEEN '2016-04-01' AND '2016-04-03' 
ORDER BY NAME, START_DATE, SKU_NAME 
+0

你的查詢不會推動任何限制。 –

+0

這在這裏解釋得很好:https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.5/en/column-count-limit.html – mitkosoft

+1

請注意'DATE(journey_visits.START_DATE)BETWEEN'2016- 04-01'和'2016-04-03''不能使用索引,但是'journey_visits.START_DATE BETWEEN'2016-04-01 00:00:00'和'2016-04-03 23:59:00''能夠。 – Strawberry

回答

1

沒有限制,您可以對結果集中的所有列進行排序或分組,儘管後者將毫無用處。