题目源自:http://www.cnblogs.com/xpivot/p/4143069.html#!comments

有一张ER图描述数据结构,简单文字描述如下,劳烦看官各种脑补主外键关系:

一张会员表(account),字段有会员id(account_id), 会员卡号(account_num)。。。

一张交易订单表(trans),字段有会员id(account_id),交易时间(trans_time),交易金额(sales)。。。

要求查询出所有首笔订单金额超过1000的会员卡号及其首笔订单金额,

注:

1. 首笔订单指的是每个会员交易时间最小的一笔订单

2. 会员表有一千万笔记录

3. 如果会员没有任何订单或者首笔订单金额不足1000,则首笔订单金额返回0。

根据题目描述,建表

account表如下:

语句如下:

/*
Navicat MySQL Data Transfer

Source Server         : localhost
Source Server Version : 50614
Source Host           : localhost:3306
Source Database       : amydb

Target Server Type    : MYSQL
Target Server Version : 50614
File Encoding         : 65001

Date: 2014-12-04 19:23:39
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `account`
-- ----------------------------
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
  `keyID` int(4) NOT NULL AUTO_INCREMENT,
  `account_id` varchar(50) NOT NULL,
  `account_card` varchar(50) NOT NULL,
  PRIMARY KEY (`keyID`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of account
-- ----------------------------
INSERT INTO `account` VALUES ('1', 'tianxue', '1251859009@qq.com');
INSERT INTO `account` VALUES ('2', 'xiaohua', '2804163771@qq.com');
View Code

相关文章: