小编Asc*_*hem的帖子

SQL连接和项目总和

有两张桌子

用户

+--+----+
|id|name|
+--+----+
 1   A    
 2   B
Run Code Online (Sandbox Code Playgroud)

命令

+--+--------+-------+-------+
|id|subtotal|created|user_id|
+--+--------+-------+-------+
 1  10       1000001   1
 2  20       1000002   1
 3  10       1000003   2
 4  10       1000005   1
Run Code Online (Sandbox Code Playgroud)

这个想法是让AVG,SUM并从用户的最后创建的订单.

SELECT
  users.name,
  users.phone,
  SUM(a.subtotal),
  COALESCE(a.created, NULL)
  FROM users
LEFT JOIN
  (
  SELECT
    orders.id,
    orders.subtotal,
    orders.user_id,
    orders.created
  FROM
    orders 
  JOIN(
    SELECT MAX(i.created) created, i.user_id 
      FROM orders i
      GROUP BY i.user_id
  )AS j ON(j.user_id = orders.user_id AND orders.created = j.created) GROUP BY orders.user_id
) AS a ON users.id …
Run Code Online (Sandbox Code Playgroud)

mysql sql

4
推荐指数
1
解决办法
60
查看次数

有趣的节目行为

所以我有一个小程序

#include <iostream>
using namespace std;

void lol() {
    cout << "How did we get here?"<<std::endl;
}

int main()
{
   long a, b, z[10];
   cin >> a >> b;
   z[a] = b;
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处通过在线编译器运行它

该程序没有任何目的,但它有一个错误或功能 - 我不知道它是什么.所以,如果你写这样的东西, main 13 2015你可能什么也得不到,但是如果你输入两个幻数13,4196608你就会得到一个错误.此外,程序执行功能void lol()并打印线How did we get here?.

我跑了nm ./main,发现我的函数void lol()的地址0000000000400900等于4196608(数字系统的基数是10).

这意味着程序由于某种原因"跳转"到该地址并执行该功能void lol().而且,如果我改变第一个数字,什么都不会发生. main 10 4196608,main 11 4196608,main …

c++

0
推荐指数
1
解决办法
94
查看次数

标签 统计

c++ ×1

mysql ×1

sql ×1