input: from typing import List
  
  
  def display_table_of_contents(database_data: List[dict]) -> str:
      """ Given a list of dictionaries where each dictionary represents a section of a table of contents, 
      generate an HTML string that displays the table of contents. Each dictionary should at least contain
      keys 'section_title' and 'subsection_title'.
      Example:
      >>> sample_data = [
      ...     {'section_title': 'Introduction', 'subsection_title': 'Overview'},
      ...     {'section_title': 'Methods', 'subsection_title': 'Data Collection'},
      ...     {'section_title': 'Methods', 'subsection_title': 'Analysis'}
      ... ]
      >>> display_table_of_contents(sample_data)
      '<ul><li>Introduction<ul><li>Overview</li></ul></li><li>Methods<ul><li>Data Collection</li><li>Analysis</li></ul></li></ul>'
      """
output:     sections = {}
      for entry in database_data:
          section_title = entry['section_title']
          subsection_title = entry['subsection_title']
          if section_title not in sections:
              sections[section_title] = []
          sections[section_title].append(subsection_title)
  
      html_output = '<ul>'
      for section, subsections in sections.items():
          html_output += f'<li>{section}<ul>'
          for subsection in subsections:
              html_output += f'<li>{subsection}</li>'
          html_output += '</ul></li>'
      html_output += '</ul>'
  
      return html_output