根据数据库类型和表结构自动生成所需SQL语句
```sql SELECT name, email FROM users WHERE created_at >= DATE_FORMAT(LAST_DAY(CURDATE() - INTERVAL 1 MONTH) + INTERVAL 1 DAY, '%Y-%m-%d') AND created_at <= LAST_DAY(CURDATE() - INTERVAL 1 MONTH) ORDER BY created_at DESC; ``` ### 解释: 1. **`DATE_FORMAT` 和 `LAST_DAY`**: - `LAST_DAY(CURDATE() - INTERVAL 1 MONTH)` 计算上月的最后一天。 - `LAST_DAY(CURDATE() - INTERVAL 1 MONTH) + INTERVAL 1 DAY` 得到上月的第一天。 - 这些函数确保日期范围精确计算出上月的开始和结束日期。 2. **`WHERE` 条件**: - `created_at >=` 和 `created_at <=` 分别限制为上个月的第一天到最后一天。 3. **`ORDER BY created_at DESC`**: - 确保按注册时间倒序排列,以便从最新的用户到最早的用户依次获取结果。
以下是符合需求的完整SQL查询语句: ```sql SELECT u.id AS user_id, u.name AS user_name, SUM(o.amount) AS total_amount FROM users u JOIN orders o ON u.id = o.user_id WHERE o.amount > 0 GROUP BY u.id, u.name ORDER BY total_amount DESC; ``` ### 解释: 1. **`SUM(o.amount)`**: 计算每个用户的订单总金额。 2. **`JOIN`**: 将 `users` 表与 `orders` 表通过 `users.id = orders.user_id` 进行连接。 3. **`WHERE o.amount > 0`**: 筛选掉金额小于等于 0 的订单记录。 4. **`GROUP BY u.id, u.name`**: 按用户 ID 和用户名称分组,以便计算每个用户的订单总金额。 5. **`ORDER BY total_amount DESC`**: 按总金额从高到低排序。
```sql -- 创建 orders_summary 表,用于存储按年汇总的订单总额 CREATE TABLE orders_summary ( year INT, total_amount DECIMAL(18, 2) ); -- 通过插入查询语句将按年汇总的订单总额插入到 orders_summary 表中 INSERT INTO orders_summary (year, total_amount) SELECT YEAR(created_at) AS year, -- 提取订单的年份 SUM(amount) AS total_amount -- 计算该年份的订单总额 FROM orders -- 从 orders 表中查询数据 GROUP BY YEAR(created_at); -- 按照年份进行分组 ``` ### 说明 1. `CREATE TABLE` 创建表 `orders_summary`,包含年份 (`year`) 和总金额 (`total_amount`) 两列。 2. `INSERT INTO ... SELECT` 查询从 `orders` 表中获取分组统计后的数据,并插入到 `orders_summary` 表中。 3. `YEAR(created_at)` 提取 `orders` 表中 `created_at` 的年份。 4. `SUM(amount)` 计算每年的订单总金额。 5. 使用 `GROUP BY YEAR(created_at)` 按年份分组汇总数据。 你可以先执行 `CREATE TABLE` 和 `INSERT INTO ... SELECT` 语句,然后检查 `orders_summary` 表中的数据是否符合预期!
无需记忆复杂的SQL语法,自动生成查询语句,更专注于数据洞察与价值挖掘。
快速生成复杂查询语句,减少繁琐手写代码时间,专注于核心业务开发。
通过智能生成SQL语句提升效率,同时确保查询代码规范清晰、性能优化。
无需深度学习SQL,仅通过简单描述需求即可获得精准代码,为业务决策提供快捷支持。
快速获取运营相关数据报表所需的SQL查询,提高日常工作数据化效率。
帮助用户快速生成高效、精准的SQL查询语句,简化复杂的数据库操作,提升工作效率。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期