code: func (p *Parser) parseOrderBy() (SortFields, error) {
  	// Return nil result and nil error if no ORDER token at this position.
  	if tok, _, _ := p.ScanIgnoreWhitespace(); tok != ORDER {
  		p.Unscan()
  		return nil, nil
  	}
  
  	// Parse the required BY token.
  	if tok, pos, lit := p.ScanIgnoreWhitespace(); tok != BY {
  		return nil, newParseError(tokstr(tok, lit), []string{"BY"}, pos)
  	}
  
  	// Parse the ORDER BY fields.
  	fields, err := p.parseSortFields()
  	if err != nil {
  		return nil, err
  	}
  
  	return fields, nil
  }
docs: // parseOrderBy parses the "ORDER BY" clause of a query, if it exists.