【发布时间】:2016-04-22 12:11:07
【问题描述】:
我正在寻找可以在“order by”子句中使用多少列,例如我有一个列 NAME asc、START_DATE asc、SKU_GROUP asc 并想在 order 子句中添加 SKU_NAME asc。我目前正在使用 1 group by,但为了好奇,MySQL 中可以使用多少组?
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
【问题讨论】:
-
您的查询不会超出任何限制。
-
注意
DATE(journey_visits.START_DATE) BETWEEN '2016-04-01' AND '2016-04-03'不能使用索引,但journey_visits.START_DATE BETWEEN '2016-04-01 00:00:00' AND '2016-04-03 23:59:00'可以。
标签: mysql database sql-order-by