mysql查询错误

标签 mysql sql

select id, s
from (
         select o_user_id as id, sum(total_price) as s
         from Orders o
         group by o.o_user_id
     ) as t1
where s = (select max(t1.s) from t1)

它返回一个错误,表示表 t1 不存在。

我想找出所有订单中消费最多的用户的id

这是订单表 enter image description here

最佳答案

该别名超出了子查询的范围

select id, s
from (
         select o_user_id as id, sum(total_price) as s
         from Orders o
         group by o.o_user_id
     ) as t1
where s = (select max(t1.s) from t1)

你可以做到

WITH T1 AS 
    (
      select o_user_id as id, sum(total_price) as s
         from Orders o
         group by o.o_user_id
     ) 
SELECT id, s
  FROM T1
 WHERE s = (select max(t1.s) from t1);

关于mysql查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219528/

相关文章:

php - 如何在语句执行期间保持临时 mysqli 表在 php 中可用?

mysql - 在 Mariadb 中向 3 表查询添加进一步的条件

MYSQL:错误代码:1215。无法添加外键约束

mysql - 在 Node 上 MySQL 与 JSON

mysql - 在 PHPMyAdmin 更新后恢复数据

mysql - 与Mysql数据对比

mysql - 获取 SQL 中行的值或空条目

mysql - 统计sql中相同列的数量并将其输出为 View

MySQL、SQL - 如何同时选择、更新和替换

sql - 获取列中值的最大计数