QIAN-ME/bird_schema_data huggingface dataset:
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    How many of the unemployed students are disabled?

    【Evidence】
    

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.name) FROM unemployed AS T1 INNER JOIN disabled AS T2 ON T1.name = T2.name
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    List the names of the disabled students who were absent from school for more than 5 months. absent for more than 5 months refers to month > 5;

    【Evidence】
    absent for more than 5 months refers to month > 5;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.name FROM longest_absense_from_school AS T1 INNER JOIN disabled AS T2 ON T1.name = T2.name WHERE T1.month > 5
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    How many bankrupt students are there in the Marines? Marines refers to organ = 'marines';

    【Evidence】
    Marines refers to organ = 'marines';

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.name) FROM filed_for_bankrupcy AS T1 INNER JOIN enlist AS T2 ON T1.name = T2.name WHERE T2.organ = 'marines'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    Among the students who filed for bankruptcy, how many students are disabled?

    【Evidence】
    

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.name) FROM disabled AS T1 INNER JOIN filed_for_bankrupcy AS T2 ON T1.name = T2.name
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    How many months did a student in the Air Force miss school the most? Air Force refers to organ = 'air_force'; number of months a student miss school the most refers to MAX(COUNT(month));

    【Evidence】
    Air Force refers to organ = 'air_force'; number of months a student miss school the most refers to MAX(COUNT(month));

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.month FROM longest_absense_from_school AS T1 INNER JOIN enlist AS T2 ON T1.name = T2.name ORDER BY T1.month DESC LIMIT 1
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    Among the students who filed for bankruptcy with an absence in school of no more than 6 months, how many students enlisted for the fire department? absence of no more than 6 months refers to month < 6; department refers to organ; organ = 'fire_department';

    【Evidence】
    absence of no more than 6 months refers to month < 6; department refers to organ; organ = 'fire_department';

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.name) FROM longest_absense_from_school AS T1 INNER JOIN filed_for_bankrupcy AS T2 ON T1.name = T2.name INNER JOIN enlist AS T3 ON T3.name = T2.name WHERE T3.organ = 'fire_department'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    How many employed disabled students have zero absences? employed students refers to disabled.name who are NOT in unemployed.name; zero absences refers to month = 0;

    【Evidence】
    employed students refers to disabled.name who are NOT in unemployed.name; zero absences refers to month = 0;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.name) FROM longest_absense_from_school AS T1 INNER JOIN disabled AS T2 ON T1.name = T2.name INNER JOIN unemployed AS T3 ON T3.name = T2.name WHERE T1.month = 0
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 student_loan
【Schema】
# Table: unemployed
[
(name:TEXT, Primary Key, Examples: [student1000, student102, student106])
]
# Table: longest_absense_from_school
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(month:INTEGER, Examples: [0, 1, 2])
]
# Table: disabled
[
(name:TEXT, Primary Key, Examples: [student114, student125, student142])
]
# Table: person
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100])
]
# Table: male
[
(name:TEXT, Primary Key, Examples: [student1, student101, student102])
]
# Table: no_payment_due
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(bool:TEXT, Examples: [neg, pos])
]
# Table: enrolled
[
(name:TEXT, Primary Key, Examples: [student1, student10, student100]),
(school:TEXT, Primary Key, Examples: [occ, smc, ucb]),
(month:INTEGER, Examples: [1, 2, 3])
]
# Table: enlist
[
(name:TEXT, Examples: [student40, student51, student109]),
(organ:TEXT, Examples: [fire_department, air_force, navy])
]
# Table: bool
[
(name:TEXT, Primary Key, Examples: [neg, pos])
]
# Table: filed_for_bankrupcy
[
(name:TEXT, Primary Key, Examples: [student122, student126, student136])
]
【Foreign keys】
unemployed.name=person.name
longest_absense_from_school.name=person.name
disabled.name=person.name
male.name=person.name
no_payment_due.name=person.name
no_payment_due.bool=bool.name
enrolled.name=person.name
enlist.name=person.name
filed_for_bankrupcy.name=person.name

    【Question】
    Which organization has the highest number of male students? Calculate for the percentage of the male students in the said organization. organization refers to organ; highest number of male students refers to MAX(COUNT(male.name)); percentage = DIVIDE(COUNT(male.name), COUNT(person.name)), 1.0;

    【Evidence】
    organization refers to organ; highest number of male students refers to MAX(COUNT(male.name)); percentage = DIVIDE(COUNT(male.name), COUNT(person.name)), 1.0;

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T.organ, T.per FROM ( SELECT T1.organ, CAST(COUNT(T3.name) AS REAL) / COUNT(T2.name) AS per , COUNT(T3.name) AS num FROM enlist AS T1 INNER JOIN person AS T2 ON T1.name = T2.name LEFT JOIN male AS T3 ON T2.name = T3.name GROUP BY T1.organ ) T ORDER BY T.num DESC LIMIT 1
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 mental_health_survey
【Schema】
# Table: Survey
[
(SurveyID:INTEGER, Primary Key, Examples: [2014, 2016, 2017]),
(Description:TEXT, Examples: [mental health survey for 2014])
]
# Table: Answer
[
(AnswerText:TEXT, Examples: [37, 44, 32]),
(SurveyID:INTEGER, Examples: [2014, 2016, 2017]),
(UserID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(QuestionID:INTEGER, Primary Key, Examples: [1, 2, 3])
]
# Table: Question
[
(questiontext:TEXT, Examples: [What is your age?]),
(questionid:INTEGER, Primary Key, Examples: [1, 2, 3])
]
【Foreign keys】
Answer.QuestionID=Question.questionid
Answer.SurveyID=Survey.SurveyID

    【Question】
    How many users answered "No" to question 19? Question 19 refer to QuestionID = 19; No refer to AnswerText = 'No'

    【Evidence】
    Question 19 refer to QuestionID = 19; No refer to AnswerText = 'No'


    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(QuestionID) FROM Answer WHERE QuestionID = 19 AND AnswerText LIKE 'No'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 mental_health_survey
【Schema】
# Table: Survey
[
(SurveyID:INTEGER, Primary Key, Examples: [2014, 2016, 2017]),
(Description:TEXT, Examples: [mental health survey for 2014])
]
# Table: Answer
[
(AnswerText:TEXT, Examples: [37, 44, 32]),
(SurveyID:INTEGER, Examples: [2014, 2016, 2017]),
(UserID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(QuestionID:INTEGER, Primary Key, Examples: [1, 2, 3])
]
# Table: Question
[
(questiontext:TEXT, Examples: [What is your age?]),
(questionid:INTEGER, Primary Key, Examples: [1, 2, 3])
]
【Foreign keys】
Answer.QuestionID=Question.questionid
Answer.SurveyID=Survey.SurveyID

    【Question】
    From 2016 to 2019, how many users each year were asked the question 13? From 2016 to 2019 refer to SurveyID 2016 BETWEEN 2019; Question 13 refer to QuestionID

    【Evidence】
    From 2016 to 2019 refer to SurveyID 2016 BETWEEN 2019; Question 13 refer to QuestionID

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT SurveyID, COUNT(UserID) FROM Answer WHERE QuestionID = 13 AND SurveyID BETWEEN 2016 AND 2019 GROUP BY SurveyID
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 mental_health_survey
【Schema】
# Table: Survey
[
(SurveyID:INTEGER, Primary Key, Examples: [2014, 2016, 2017]),
(Description:TEXT, Examples: [mental health survey for 2014])
]
# Table: Answer
[
(AnswerText:TEXT, Examples: [37, 44, 32]),
(SurveyID:INTEGER, Examples: [2014, 2016, 2017]),
(UserID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(QuestionID:INTEGER, Primary Key, Examples: [1, 2, 3])
]
# Table: Question
[
(questiontext:TEXT, Examples: [What is your age?]),
(questionid:INTEGER, Primary Key, Examples: [1, 2, 3])
]
【Foreign keys】
Answer.QuestionID=Question.questionid
Answer.SurveyID=Survey.SurveyID

    【Question】
    How many users, between the age 27 to 35, were surveyed in 2018? Age 27 to 35 refer to AnswerText 27 BETWEEN 35 where questionid = 1; 2018 refer to SurveyID

    【Evidence】
    Age 27 to 35 refer to AnswerText 27 BETWEEN 35 where questionid = 1; 2018 refer to SurveyID



    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.UserID FROM Answer AS T1 INNER JOIN Question AS T2 ON T1.QuestionID = T2.questionid WHERE T1.SurveyID = 2018 AND T2.questionid = 1 AND T1.AnswerText BETWEEN '27' AND '35'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 mental_health_survey
【Schema】
# Table: Survey
[
(SurveyID:INTEGER, Primary Key, Examples: [2014, 2016, 2017]),
(Description:TEXT, Examples: [mental health survey for 2014])
]
# Table: Answer
[
(AnswerText:TEXT, Examples: [37, 44, 32]),
(SurveyID:INTEGER, Examples: [2014, 2016, 2017]),
(UserID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(QuestionID:INTEGER, Primary Key, Examples: [1, 2, 3])
]
# Table: Question
[
(questiontext:TEXT, Examples: [What is your age?]),
(questionid:INTEGER, Primary Key, Examples: [1, 2, 3])
]
【Foreign keys】
Answer.QuestionID=Question.questionid
Answer.SurveyID=Survey.SurveyID

    【Question】
    In 2019, how many users in the United States have a family history of mental illness? 2019 refer to SurveyID; Users in the United States refers to AnswerText = 'United States' where questionid = 3; have a family history of mental illness refers to AnswerText = 'Yes' where questionid = 6

    【Evidence】
    2019 refer to SurveyID; Users in the United States refers to AnswerText = 'United States' where questionid = 3; have a family history of mental illness refers to AnswerText = 'Yes' where questionid = 6

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT COUNT(T1.UserID) FROM Answer AS T1 INNER JOIN ( SELECT T2.questionid FROM Answer AS T1 INNER JOIN Question AS T2 ON T1.QuestionID = T2.questionid WHERE T1.SurveyID = 2019 AND T2.questionid = 6 AND T1.AnswerText LIKE 'Yes' ) AS T2 ON T1.QuestionID = T2.questionid WHERE T1.SurveyID = 2019 AND T2.questionid = 3 AND T1.AnswerText LIKE 'United States'
You are now a sqlite data analyst, and you are given a database schema as follows:

    【Schema】
    【DB_ID】 mental_health_survey
【Schema】
# Table: Survey
[
(SurveyID:INTEGER, Primary Key, Examples: [2014, 2016, 2017]),
(Description:TEXT, Examples: [mental health survey for 2014])
]
# Table: Answer
[
(AnswerText:TEXT, Examples: [37, 44, 32]),
(SurveyID:INTEGER, Examples: [2014, 2016, 2017]),
(UserID:INTEGER, Primary Key, Examples: [1, 2, 3]),
(QuestionID:INTEGER, Primary Key, Examples: [1, 2, 3])
]
# Table: Question
[
(questiontext:TEXT, Examples: [What is your age?]),
(questionid:INTEGER, Primary Key, Examples: [1, 2, 3])
]
【Foreign keys】
Answer.QuestionID=Question.questionid
Answer.SurveyID=Survey.SurveyID

    【Question】
    Betweeen 2016 to 2019, which year recorded the highest number of people with mental illness? Between 2016 to 2019 refer to SurveyID 2016 BETWEEN 2019; People with mental illness refers to AnswerText = 'Yes' where questionid = 34

    【Evidence】
    Between 2016 to 2019 refer to SurveyID 2016 BETWEEN 2019; People with mental illness refers to AnswerText = 'Yes' where questionid = 34

    Please read and understand the database schema carefully, and generate an executable SQL based on the user's question and evidence. 

SQL: SELECT T1.SurveyID FROM Answer AS T1 INNER JOIN Question AS T2 ON T1.QuestionID = T2.questionid WHERE T1.SurveyID BETWEEN 2016 AND 2019 AND T2.questionid = 34 AND T1.AnswerText LIKE 'Yes' GROUP BY T1.SurveyID ORDER BY COUNT(T1.UserID) DESC LIMIT 1