我目前正在学习SQL的基础知识。我尝试过这个查询,但结果只适用于其中一个行(FireBow)。我该怎么解决这个问题?
CREATE TABLE store (id_prod INTEGER PRIMARY KEY AUTOINCREMENT, prod TEXT, price REAL, q REAL);
INSERT INTO store (prod, price, q) VALUES ("DragonSword", 1500.0, 4.0);
INSERT INTO store (prod, price, q) VALUES ("MagicOrb", 950.0, 7.0);
INSERT INTO store (prod, price, q) VALUES ("FireBow", 500.0, 5.0);
UPDATE store SET q=q-3 WHERE prod="FireBow";
SELECT prod, price, q, ((price*q)/SUM(price*q)) AS prec_worth
FROM store;发布于 2017-05-06 09:09:19
如果您没有使用group by语句,那么它将只显示一条记录。而不是在查询中直接使用和。使用下面的一个带有子查询。
SELECT prod, price, q, ((price*q)/(select sum(price*q) from store s)) AS prec_worth
FROM store t;https://stackoverflow.com/questions/43818569
复制相似问题