MySQL - Ayuda con un error de sintaxis que no logro ubicar o entender

 
Vista:
sin imagen de perfil

Ayuda con un error de sintaxis que no logro ubicar o entender

Publicado por anonymous (1 intervención) el 13/07/2017 08:11:18
Agradecería me ayudaran a corregir un error de sintaxis, he hecho un montón de cambios pero no consigo quitarlo: al principio de daba error al final ,en el último renglón; luego fuí subiendo y agregando ; donde me pareciera que faltaba, pero nada, cómo podrás notar soy un inexperto en esto de los lenguajes de programación, pero igual me esfuerzo y ya veremos.
Gracias de antemano.

PD: /* en los renglones siguientes al "having primero había puesto comas , ahora cambié a punto y coma ; pero igual me da error, cuando lo dejo con las comas, el error se presenta en el renglón final*/



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
Earned Badges
This table contains badges earned by a user, including the most recent date achieved, the type, the name, the # of energy points earned, and the activity earned from.
Collected by: https://www.khanacademy.org/profile/chopsor/
*/
 
CREATE TABLE badges (
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,date TEXT,badge_type TEXT,badge_name TEXT,energy_points INTEGER);
 
INSERT INTO badges (id, date, badge_type, badge_name, energy_points) VALUES (1,"2015, 04/12", "Sun", "Oracle", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (2,"2015, 04/28", "Earth", "Incredible Inspiration", 5000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (3,"2015, 01/29", "Challenge Patch", "Intro to JS: Drawing & Animation Mastery", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (4,"2014, 12/05", "Meteorite", "Thumbs Up", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (5,"2015, 04/28", "Moon", "1000 Kelvin", 1000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (6,"2015, 04/25", "Earth", "299,792,458 Meters per Second", 5000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (7,"2015, 03/20", "Sun", "Da Vinci", 200000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (8,"2015, 03/02", "Sun", "Newton", 150000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (9,"2015, 03/02", "Sun", "Hypatia", 125000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (10,"2015, 02/24", "Sun", "Kepler", 125000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (11,"2015, 02/24", "Sun", "Copernicus", 80000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (12,"2015, 02/07", "Sun", "Sally Ride", 35000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (13,"2015, 01/06", "Sun", "Magellan", 30000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (14,"2015, 02/24", "Earth", "Guru", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (15,"2014, 12/29", "Earth", "Work Horse", 14000);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (16,"2014, 10/20", "Moon", "Redwood", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (17,"2013, 10/20", "Meteorite", "Cypress", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (18,"2015, 03/18", "Sun", "Millionaire", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (19,"2015, 02/27", "Earth", "Five Times Ten to the Fifth", 0);
INSERT INTO badges (id,date, badge_type, badge_name, energy_points) VALUES (20,"2015, 04/04", "Earth", "Investigator", 0);
 
 
SELECT energy_points, SUM(energy_points) AS puntaje FROM badges GROUP BY id
HAVING energy_points < 150000,
FROM badges;     /*  en los renglones siguientes al "having primero había puesto comas , ahora cambié a punto y coma  ; pero igual  me da error, cuando lo dejo con las comas, el error se presenta en el renglón final*/

SELECT COUNT(*) FROM badges WHERE energy_points > 1000;

    SELECT Min(energy_points) AS puntaje_mínimo FROM badges WHERE id > 0;
    SELECT Max(energy_points) AS puntaje_máximo FROM badges WHERE id <> 0;
    SELECT AVG(energy_points) AS puntaje_promedio FROM badges WHERE id <> 0;


   /* CASE */
SELECT type,badge_type,
CASE 
WHEN  energy_points > 1000 THEN "puntaje nivel novato",
WHEN enegy_points > 10000 THEN "puntaje estudiante consciente",
WHEN energy_points > 25000 
THEN "puntaje estudiante comprometido",     WHEN energy_points > 50000 THEN "puntaje estudiante dedicado",
WHEN energy_points > 75000 THEN "puntaje estudiante ultra dedicado",                WHEN energy_points > 100000 THEN "puntaje estudiante distiguido",                   WHEN energy_points > 200000 THEN "puntaje estudiante diamante",
ELSE "Grandes ligas", END "cuadro de honor",
SELECT  as AVG(energy_points) 
FROM badges,
GROUP BY "badge_name";
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 117
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

Ayuda con un error de sintaxis que no logro ubicar o entender

Publicado por Nicolas (46 intervenciones) el 13/07/2017 13:35:11
Hola Adrian.

Tu consulta que planteas en SQL no esta correcta, "SELECT energy_points, SUM(energy_points) AS puntaje FROM badges GROUP BY id
HAVING energy_points < 150000,
FROM badges;"

Supongo que seria ser de esta forma: "SELECT energy_points, SUM(energy_points) AS puntaje FROM badges GROUP BY id
HAVING energy_points < 150000;"

Prueba si funciona y devuelve los valores que necesitas;
Espero te sirva de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar