Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE AssignedTo ( Scientist int, Project char(4) )
TABLE: CREATE TABLE Projects ( Code Char(4), Name Char(50), Hours int )
TABLE: CREATE TABLE Scientists ( SSN int, Name Char(30) )

### Question ###
Find the number of the name of the project for which a scientist whose name contains Smith is assigned to, and show by the how many name in descending please.

### Accurate SQL ###

SELECT T2.Name, COUNT(T2.Name) FROM AssignedTo AS T1 JOIN Projects AS T2 ON T1.Project = T2.Code JOIN Scientists AS T3 ON T1.Scientist = T3.SSN WHERE T3.Name LIKE '%Smith%' GROUP BY T2.Name ORDER BY COUNT(T2.Name) DESC