CREATE TABLE Stay (StayID NUMBER, Patient NUMBER, Room NUMBER, StayStart DATETIME, StayEnd DATETIME)
CREATE TABLE Medication (Code NUMBER, Name VARCHAR2, Brand VARCHAR2, Description VARCHAR2)
CREATE TABLE Room (RoomNumber NUMBER, RoomType VARCHAR2, BlockFloor NUMBER, BlockCode NUMBER, Unavailable BOOLEAN)
CREATE TABLE Department (DepartmentID NUMBER, Name VARCHAR2, Head NUMBER)
CREATE TABLE Affiliated_With (Physician NUMBER, Department NUMBER, PrimaryAffiliation BOOLEAN)
CREATE TABLE Nurse (EmployeeID NUMBER, Name VARCHAR2, Position VARCHAR2, Registered BOOLEAN, SSN NUMBER)
CREATE TABLE Block (BlockFloor NUMBER, BlockCode NUMBER)
CREATE TABLE Patient (SSN NUMBER, Name VARCHAR2, Address VARCHAR2, Phone VARCHAR2, InsuranceID NUMBER, PCP NUMBER)
CREATE TABLE Trained_In (Physician NUMBER, Treatment NUMBER, CertificationDate DATETIME, CertificationExpires DATETIME)
CREATE TABLE On_Call (Nurse NUMBER, BlockFloor NUMBER, BlockCode NUMBER, OnCallStart DATETIME, OnCallEnd DATETIME)
CREATE TABLE Physician (EmployeeID NUMBER, Name VARCHAR2, Position VARCHAR2, SSN NUMBER)
CREATE TABLE Prescribes (Physician NUMBER, Patient NUMBER, Medication NUMBER, Date DATETIME, Appointment NUMBER, Dose VARCHAR2)
CREATE TABLE Appointment (AppointmentID NUMBER, Patient NUMBER, PrepNurse NUMBER, Physician NUMBER, Start DATETIME, End DATETIME, ExaminationRoom CLOB)
CREATE TABLE Undergoes (Patient NUMBER, Procedures NUMBER, Stay NUMBER, DateUndergoes DATETIME, Physician NUMBER, AssistingNurse NUMBER)
CREATE TABLE Procedures (Code NUMBER, Name VARCHAR2, Cost FLOAT)

List the number of the names of patients who have made appointments, sort in descending by the names.
SELECT Name, COUNT(Name) FROM Appointment AS T1 JOIN Patient AS T2 ON T1.Patient = T2.SSN GROUP BY Name ORDER BY Name DESC
SELECT "Name", COUNT("Name") FROM "Appointment" "T1" JOIN "Patient" "T2" ON "T1"."Patient" = "T2"."SSN" GROUP BY "Name" ORDER BY "Name" DESC