List the number of enginners and group by first name in a bar chart, and could you sort by the total number in ascending?
CREATE TABLE Maintenance_Engineers (
    engineer_id INTEGER,
    company_id INTEGER,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    other_details VARCHAR(255)
)

CREATE TABLE Parts (
    part_id INTEGER,
    part_name VARCHAR(255),
    chargeable_yn VARCHAR(1),
    chargeable_amount VARCHAR(20),
    other_part_details VARCHAR(255)
)

CREATE TABLE Engineer_Skills (
    engineer_id INTEGER,
    skill_id INTEGER
)

CREATE TABLE Fault_Log (
    fault_log_entry_id INTEGER,
    asset_id INTEGER,
    recorded_by_staff_id INTEGER,
    fault_log_entry_datetime DATETIME,
    fault_description VARCHAR(255),
    other_fault_details VARCHAR(255)
)

CREATE TABLE Maintenance_Contracts (
    maintenance_contract_id INTEGER,
    maintenance_contract_company_id INTEGER,
    contract_start_date DATETIME,
    contract_end_date DATETIME,
    other_contract_details VARCHAR(255)
)

CREATE TABLE Assets (
    asset_id INTEGER,
    maintenance_contract_id INTEGER,
    supplier_company_id INTEGER,
    asset_details VARCHAR(255),
    asset_make VARCHAR(20),
    asset_model VARCHAR(20),
    asset_acquired_date DATETIME,
    asset_disposed_date DATETIME,
    other_asset_details VARCHAR(255)
)

CREATE TABLE Asset_Parts (
    asset_id INTEGER,
    part_id INTEGER
)

CREATE TABLE Skills_Required_To_Fix (
    part_fault_id INTEGER,
    skill_id INTEGER
)

CREATE TABLE Part_Faults (
    part_fault_id INTEGER,
    part_id INTEGER,
    fault_short_name VARCHAR(20),
    fault_description VARCHAR(255),
    other_fault_details VARCHAR(255)
)

CREATE TABLE Skills (
    skill_id INTEGER,
    skill_code VARCHAR(20),
    skill_description VARCHAR(255)
)

CREATE TABLE Fault_Log_Parts (
    fault_log_entry_id INTEGER,
    part_fault_id INTEGER,
    fault_status VARCHAR(10)
)

CREATE TABLE Engineer_Visits (
    engineer_visit_id INTEGER,
    contact_staff_id INTEGER,
    engineer_id INTEGER,
    fault_log_entry_id INTEGER,
    fault_status VARCHAR(10),
    visit_start_datetime DATETIME,
    visit_end_datetime DATETIME,
    other_visit_details VARCHAR(255)
)

CREATE TABLE Staff (
    staff_id INTEGER,
    staff_name VARCHAR(255),
    gender VARCHAR(1),
    other_staff_details VARCHAR(255)
)

CREATE TABLE Third_Party_Companies (
    company_id INTEGER,
    company_type VARCHAR(5),
    company_name VARCHAR(255),
    company_address VARCHAR(255),
    other_company_details VARCHAR(255)
)
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)
Below are sql tables schemas paired with instruction that describes a task. Using valid SQLite, write a response that appropriately completes the request for the provided tables. ### Instruction: List the number of enginners and group by first name in a bar chart, and could you sort by the total number in ascending? ### Input: CREATE TABLE Maintenance_Engineers (
    engineer_id INTEGER,
    company_id INTEGER,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    other_details VARCHAR(255)
)

CREATE TABLE Parts (
    part_id INTEGER,
    part_name VARCHAR(255),
    chargeable_yn VARCHAR(1),
    chargeable_amount VARCHAR(20),
    other_part_details VARCHAR(255)
)

CREATE TABLE Engineer_Skills (
    engineer_id INTEGER,
    skill_id INTEGER
)

CREATE TABLE Fault_Log (
    fault_log_entry_id INTEGER,
    asset_id INTEGER,
    recorded_by_staff_id INTEGER,
    fault_log_entry_datetime DATETIME,
    fault_description VARCHAR(255),
    other_fault_details VARCHAR(255)
)

CREATE TABLE Maintenance_Contracts (
    maintenance_contract_id INTEGER,
    maintenance_contract_company_id INTEGER,
    contract_start_date DATETIME,
    contract_end_date DATETIME,
    other_contract_details VARCHAR(255)
)

CREATE TABLE Assets (
    asset_id INTEGER,
    maintenance_contract_id INTEGER,
    supplier_company_id INTEGER,
    asset_details VARCHAR(255),
    asset_make VARCHAR(20),
    asset_model VARCHAR(20),
    asset_acquired_date DATETIME,
    asset_disposed_date DATETIME,
    other_asset_details VARCHAR(255)
)

CREATE TABLE Asset_Parts (
    asset_id INTEGER,
    part_id INTEGER
)

CREATE TABLE Skills_Required_To_Fix (
    part_fault_id INTEGER,
    skill_id INTEGER
)

CREATE TABLE Part_Faults (
    part_fault_id INTEGER,
    part_id INTEGER,
    fault_short_name VARCHAR(20),
    fault_description VARCHAR(255),
    other_fault_details VARCHAR(255)
)

CREATE TABLE Skills (
    skill_id INTEGER,
    skill_code VARCHAR(20),
    skill_description VARCHAR(255)
)

CREATE TABLE Fault_Log_Parts (
    fault_log_entry_id INTEGER,
    part_fault_id INTEGER,
    fault_status VARCHAR(10)
)

CREATE TABLE Engineer_Visits (
    engineer_visit_id INTEGER,
    contact_staff_id INTEGER,
    engineer_id INTEGER,
    fault_log_entry_id INTEGER,
    fault_status VARCHAR(10),
    visit_start_datetime DATETIME,
    visit_end_datetime DATETIME,
    other_visit_details VARCHAR(255)
)

CREATE TABLE Staff (
    staff_id INTEGER,
    staff_name VARCHAR(255),
    gender VARCHAR(1),
    other_staff_details VARCHAR(255)
)

CREATE TABLE Third_Party_Companies (
    company_id INTEGER,
    company_type VARCHAR(5),
    company_name VARCHAR(255),
    company_address VARCHAR(255),
    other_company_details VARCHAR(255)
) ### Response: 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)