CREATE TABLE Maintenance_Engineers (engineer_id INT, company_id INT, first_name VARCHAR, last_name VARCHAR, other_details VARCHAR)
CREATE TABLE Staff (staff_id INT, staff_name VARCHAR, gender VARCHAR, other_staff_details VARCHAR)
CREATE TABLE Assets (asset_id INT, maintenance_contract_id INT, supplier_company_id INT, asset_details VARCHAR, asset_make VARCHAR, asset_model VARCHAR, asset_acquired_date DATETIME, asset_disposed_date DATETIME, other_asset_details VARCHAR)
CREATE TABLE Parts (part_id INT, part_name VARCHAR, chargeable_yn VARCHAR, chargeable_amount VARCHAR, other_part_details VARCHAR)
CREATE TABLE Part_Faults (part_fault_id INT, part_id INT, fault_short_name VARCHAR, fault_description VARCHAR, other_fault_details VARCHAR)
CREATE TABLE Fault_Log_Parts (fault_log_entry_id INT, part_fault_id INT, fault_status VARCHAR)
CREATE TABLE Engineer_Visits (engineer_visit_id INT, contact_staff_id INT, engineer_id INT, fault_log_entry_id INT, fault_status VARCHAR, visit_start_datetime DATETIME, visit_end_datetime DATETIME, other_visit_details VARCHAR)
CREATE TABLE Maintenance_Contracts (maintenance_contract_id INT, maintenance_contract_company_id INT, contract_start_date DATETIME, contract_end_date DATETIME, other_contract_details VARCHAR)
CREATE TABLE Third_Party_Companies (company_id INT, company_type VARCHAR, company_name VARCHAR, company_address VARCHAR, other_company_details VARCHAR)
CREATE TABLE Asset_Parts (asset_id INT, part_id INT)
CREATE TABLE Skills (skill_id INT, skill_code VARCHAR, skill_description VARCHAR)
CREATE TABLE Fault_Log (fault_log_entry_id INT, asset_id INT, recorded_by_staff_id INT, fault_log_entry_datetime DATETIME, fault_description VARCHAR, other_fault_details VARCHAR)
CREATE TABLE Engineer_Skills (engineer_id INT, skill_id INT)
CREATE TABLE Skills_Required_To_Fix (part_fault_id INT, skill_id INT)

How many engineers did each staff contact? List both the contact staff name and number of engineers contacted Plot them as bar chart, and could you list names in desc order?
SELECT staff_name, COUNT(*) FROM Staff AS T1 JOIN Engineer_Visits AS T2 ON T1.staff_id = T2.contact_staff_id GROUP BY T1.staff_name ORDER BY staff_name DESC
SELECT "staff_name", COUNT(*) FROM "Staff" AS "T1" JOIN "Engineer_Visits" AS "T2" ON "T1"."staff_id" = "T2"."contact_staff_id" GROUP BY "T1"."staff_name" ORDER BY "staff_name" DESC NULLS LAST