题目源自: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');