【问题标题】:How many order by columns allowed in mysql, similarly group by?mysql中允许多少个order by列,同样group by?
【发布时间】: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


【解决方案1】:

没有限制,您可以按结果集中的所有列排序或分组,尽管后者没有用。

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2021-02-22
    • 1970-01-01
    相关资源
    最近更新 更多