(1).查询出现问题的sql:
SELECT * FROM hqjf_express_trace_items WHERE trace_id in( SELECT trace_id FROM hqjf_express_trace WHERE (STATUS = 1 OR receipt_time > 0 ) AND trace_id>0 AND type<>'' GROUP BY type )
问题点:子查询中单独查询的结果trace_id(3,2,9,1,91,5,7,80),整个SQL查询出的结果多出了trace_id(8)
(2).正确的写法:
SELECT * FROM hqjf_express_trace_items WHERE trace_id in( SELECT max(trace_id) FROM hqjf_express_trace WHERE (STATUS = 1 OR receipt_time > 0 ) AND trace_id>0 AND type<>'' GROUP BY type )
当我们使用group by时进行select字段,字段要么是group by的字段,要么对其他字段进行聚合处理,否则在子查询中会出现问题。另外建议使用sql严格模式,会直接报错,养成良好的习惯。
1.查看所有表,包括视图表,show tables;2.查看表结果,包括视图表,desc 表名3.查看建表过程,show create table 表名;4.查看建视图过程,show create view...
1.MyISAM 建立一个MyISAM引擎的表时,就会在本地磁盘上建立三个文件,.frm格式文件,存储表定义;.MYD格式文件,存储数据;MYI格式文件,存储索引;方便数据迁移,我只需将mysql安装目录下data文件中的表文件复制即可完成数据迁移,之前在搬迁多个dedecms中深有体会。 ...
触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作. 触发器的创建主要有4个要素:(1).监听地点(...
1.很多人认为count查询非常快,但是在加上筛选条件那就是未必的了!测试:user表中4000w数据(1).SELECT count(*) from user; 用时0.00s (2).SELECT...
概述: 目前我们的表设计,最高级别的范式是6NF,对于PHP程序员而言,我们的表满足3NF即可(范式即规范)【一】1NF (1).所谓1NF,就是指标的属性具有原子性,即表的列不能再分割,不能分割意思是字段本身的含义(例如address字段不能再分割)...
1.查看歌曲表结构(主要是给name字段添加全文索引)(mysql5.7才支持全中文索引)desc music; +---------+-------------+------+-----+---------+----------------+ | Fie...