CREATE TABLE Maintenance_Engineers (engineer_id INT, company_id INT, first_name VARCHAR, last_name VARCHAR, other_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 Skills (skill_id INT, skill_code VARCHAR, skill_description 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 Parts (part_id INT, part_name VARCHAR, chargeable_yn VARCHAR, chargeable_amount VARCHAR, other_part_details 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 Fault_Log_Parts (fault_log_entry_id INT, part_fault_id INT, fault_status 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 Engineer_Skills (engineer_id INT, skill_id INT)
CREATE TABLE Staff (staff_id INT, staff_name VARCHAR, gender VARCHAR, other_staff_details VARCHAR)
CREATE TABLE Skills_Required_To_Fix (part_fault_id INT, skill_id INT)
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 Part_Faults (part_fault_id INT, part_id INT, fault_short_name VARCHAR, fault_description VARCHAR, other_fault_details VARCHAR)

List the number of enginners and group by first name in a bar chart, and rank by the how many first name from high to low.
SELECT first_name, COUNT(first_name) FROM Maintenance_Engineers AS T1 JOIN Engineer_Skills AS T2 ON T1.engineer_id = T2.engineer_id JOIN Skills AS T3 ON T2.skill_id = T3.skill_id GROUP BY first_name ORDER BY COUNT(first_name) DESC
SELECT "first_name", COUNT("first_name") FROM "Maintenance_Engineers" AS "T1" JOIN "Engineer_Skills" AS "T2" ON "T1"."engineer_id" = "T2"."engineer_id" JOIN "Skills" AS "T3" ON "T2"."skill_id" = "T3"."skill_id" GROUP BY "first_name" ORDER BY COUNT("first_name") DESC NULLS LAST