如何将这两个SQL查询合并到一个查询中,以提高速度和效率?
SELECT price FROM table LIMIT 30
SELECT AVG(price) as avg FROM table
答案 0 :(得分:0)
它不会更快或更有效,但我可以看到它的需求(例如尝试将值与平均值进行比较),如下所示:
SELECT t.value, avgSubQ.theAvg, t.value / avgSubQ.theAvg AS relativeToAvg
FROM table AS t
INNER JOIN (SELECT AVG(value) AS theAvg FROM table) AS avgSubQ
LIMIT 30;
答案 1 :(得分:0)
由于avg将生成1条记录,您可以使用交叉连接。
SELECT price, B.mavg
FROM table
CROSS JOIN (SELECT AVG(price) as mavg FROM table) B
LIMIT 30
答案 2 :(得分:0)
尝试此查询 SELECT price,avg(price)as avg from table LIMIT 30
此处每行都会复制平均价格,但您会在一个查询中获得所需内容。