MySQL - Getting the percentage of an occurrence



  • I'll do my best to explain what I'm trying to accomplish.

    I have a table called "Actions" and in Actions I have a column called "Resolution". In resolution some the entries, as an example, are "Fail", "Pending", "Completed" and "Cancelled".

    I am trying to write a query that will tell me what percentage of the entries are "Cancelled". I hope I've explained myself. I am fairly new to SQL so please bear with me.

    Thanks.



  • To get the percentage you need to divide the sum of the value, with the total and multiply by 100 to get a percentage.

    resolution='Cancelled' is an expression returning 0 for false, or 1 for true.

    So:

    SELECT SUM(resolution='Cancelled')*100/count(*)
    FROM table
    

    ref: https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=7dd8beef9387293c8337fca08811cd82




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2