例如我们需要查询商品表中每个分类中商品id最大的记录,并且显示商品价格
以下是表结构:
id catename title price 1 手机 小米5 1500 2 手机 小米6 2500 3 手机 苹果6 2450 4 电脑 三星c201 5000 5 电脑 戴尔n4050 2000 6 充电宝 小米充电宝 89 7 充电宝 罗马仕 110 8 充电宝 熊大大X能源 250
执行SQL:
select max(id) ,catename,price from shop_goods group by catename
我们会发现执行的结果如下
id 分类 价格 8 充电宝 89 3 手机 1500 5 电脑 5000
价格错误,其他都是正确的。
正确的SQL执行:
SELECT id,catename,price from shop_goods where id in(select max(id) from shop_goods group by catename )
正确的SQL执行结果:
id 分类 价格 3 手机 2450 5 电脑 2000 8 充电宝 250
1.定长和变长的分离 如int,char,time所占字节是固定的字段放在一张表 如varchar,text所占字节不确定的字段放在一张表中2.常用字段和不常用字段进行分离,根据查询频率来设计3.一对多的关联表可以添加冗余字段,如商品分类表 和商品表 ,在首页中需要显示每个分类商...
一般情况下,绝大部分,我们的主键是数字,1 2 3 4...所以我们才让它递增.这并不意味着,他们两个必须要绑定在一起使用.例如我还想将用户表的email字段设置为主键,但是并没有必要为其设置自增。 因此可...
有很多集成环境安装完成之后是没有快捷方式的,例如西部数码的网站管理助手4.0,、 更或者是护卫神PHP套件都是一样的。安装完成最多给你安装一个PhPmyadmin让你管理Mysql,但是对于经常使用命令行的我们来说是非常不方面的,而且还必须安装PhPmyadmin来管理。下面就让我们自己手...
由于在开发中不小心删除客户上传的商品数据,客户本身也不好说话,只好恢复数据库,记录下过程。原理是数据库开启bin-log功能,然后再通过备份的bin-log进行数据库恢复。先查找备份的数据库日志二进制文件。一般在mysql的data文件夹中,文件名大概为mysql-bin.00001,具体看文件的修...
通常我们使用自定义排序的语法是:ORDER BY FIELD(`字段名称`, 值1, 值2, 值3),但是如果我想强制值1到值3永远在前面,这个语法是满足不了的.(1).基本的会员数据表:id name &n...
_通配符只匹配单个字符。假如products表存在以下数据: 需要匹配到prod_nameprod_id prod_name JP1000 JetPack 1000 JP2000 JetPack 2000SQL语句: SE...