Mysql URI

Bom dia, gostaria de pedir a ajuda de aguem

Seu amigo Zé Maria está em uma emboscada porque ele fez uma atualização sem um onde e acaba zerando todos os valores da coluna de preços. Para sua sorte, o preço pode ser recalculado sabendo o tipo de produto.

  • Se o tipo de produto for igual a A, o preço será 20,0
  • Se o tipo de produto for igual a B, o preço será 70,0
  • Se o tipo de produto for igual a C, o preço será 530,5

Seu trabalho é mostrar o nome e o preço de todos os produtos. Você deve mostrar os produtos em grupos pela seguinte ordem: primeiro, todos os produtos do tipo A, segundo tipo B e, finalmente, tipo C. Além disso, os produtos de cada grupo (A, B, C) devem ser impressos em ordem decrescente por ID.

Esquema

Faltou o “Esquema” , a pergunta e o código provando que tentou fazer.

CREATE TABLE IF NOT EXISTS BDGUI.products (
id DECIMAL(10,0) NOT NULL,
name VARCHAR(50) NOT NULL,
type CHAR NOT NULL,
price DECIMAL(10,0) NOT NULL,
PRIMARY KEY (id))
ENGINE = InnoDB;

select products.name, products.price from products ORDER BY products.type ASC, products.id DESC;

Não sei se entendi bem…

1 - Tabela (da forma como eu a codifico)

CREATE TABLE IF NOT EXISTS BDGUI.products(
	product_code INT NOT NULL AUTO_INCREMENT,
    product_name VARCHAR(50) NOT NULL,
    product_type CHAR NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    CONSTRAINT pk_product PRIMARY KEY(product_code)
);

2 - A inserção

INSERT INTO BDGUI.products(product_name, product_type, price) VALUES("Mouse", 'A', 20.00), 
("Fone de Ouvido", 'A', 20.00), ("Monitor", 'B', 530.50), ("Cadeira de Jogos", 'C', 530.50),
("PC Case", 'A', 20.00), ("Mesa de Computador", 'C', 530.50);

3 - As consultas

SELECT products.product_name, products.price FROM products 
WHERE products.product_type = 'A' ORDER BY products.product_code DESC;

SELECT products.product_name, products.price FROM products 
WHERE products.product_type = 'B' ORDER BY products.product_code DESC;

SELECT products.product_name, products.price FROM products 
WHERE products.product_type = 'C' ORDER BY products.product_code DESC;

Se for para colocar esses ‘grupos’ em uma única consulta, daí a coisa é mais complicada.

Rodando (exemplo)…