mysql多表联合查询并统计
推广地点表promotion_addr字段:name,id
电话报竣表unicom_record字段:date, sheet_id(关联sheet表id)
报单表sheet字段:id,promotion_addr_id(关联promotion_addr表id)
要求统计某个月已报竣各推广地点的推广个数;
SELECT
p.name, count(*)
from
unicom_record AS ur
Left Join sheet AS s ON ur.sheet_id = s.id
Left Join promotion_addr AS p ON s.promotion_addr_id = p.id
WHERE
ur.status = 'COMPLETE' AND
ur.`date` >= '2010-03-01' AND
ur.`date` < '2010-04-01'
GROUP BY
p.id
(或使用between and语句)
相关文档:
存储过程是一种存储在数据库中的程序(就像正规语言里的子程序一样),准确的来说,MySQL支持的“routines(例程)”有两种:一是我们说的存储过程, 二是在其他SQL语句中可以返回值的函数(使用起来和Mysql预装载的函数� ......
一. 建表与初始化数据
在mysql的test数据库中建立一张新表:tbl_user,建表语句如下:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `tbl_user` (
`userid` varchar(50) NOT NULL,
`name` varchar(50) default '',
`blog` varchar(50) default '',
......
Mysql的字符集是比较麻烦的,默认的对我们来说根本就没什么用,我们是要用到中文的,所以一定得改字符集,如果字符集不对会有很多的问题,有乱码还有就是我们在程序里插入中文时会给你说mysql Data truncation: Data too long for column,你千万别以为是你的字段设得不够长,你设得再长他都会报错,所以改字符集吧
我们一般装好数 ......
1.实现TAB键补全
SHELL>vi /etc/my.cnf
[mysql]
#no-auto-rehash
auto-rehash
SHELL>reboot mysqld
note: 1.要先use到某个数据库下;2.要补全的关键字需要大写。
2.prompt让操作更加清楚
mysql>prompt \u@\h(\d) \r:\m:\s (临时)
[mysql] (长久)
prompt=\\u@\\h
3.pager让� ......
今天开多一个应用在 APP SERVER 上,报告一个错误:
ERROR 1040 (00000): Too many connections
这倒是从来没碰到过,不过在 console 下可以用 root 登录 (console 下用其他用户也不可登录,Too many connections)
mysql -uroot -p
mysql > show processlist;
...
这里列了100个链接!!其中只有2个链接是Q ......