It allows to access to the issue changes history for the issue tracked by JIRA. You have to know the name used by JIRA to track the attribute (FIELD column value). Unfortunately, those field names are documented nowhere as they belong to the private JIRA Java API. I.e: for the issue status attribute, the field name is: 'status'. You have to figure out the name to use it in the query.
To get the time spent in each workflow status transition, the ISSUESTATUSTRANSTIONS should be instead since it is specially created for that.
Example: How to get re-assigned issues in DEMO project?
usernamekey(c.fromValue) as "From user",
usernamekey(c.toValue) as "To user"
issuechanges c on c.issueid = jql.issueid
jql.query = 'project = DEMO '
c.field = 'assignee'
Note that the usernameKey function is used to get the username instead of the user key.