mysql数据库,sql语句,把一个表中的统计数量,更新到两一个表中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库,sql语句,把一个表中的统计数量,更新到两一个表中相关的知识,希望对你有一定的参考价值。
比如有两个表,一个是A表,一个是B表。
A表字段:cid (cid有重复)
B表字段:cid,cnum (cid无重复)
统计SQL:SELECT cid,COUNT(*) FROM comment GROUP BY cid
结果是:
1 6
2 3
3 3
4 9
5 4
问题是:结合A表和B表统计A表中cid的数量,把右边的结果更新到B表cnum中。
已解决。update语句后面不可以跟 from 的
(SELECT cid,COUNT(*) counts FROM comment GROUP BY cid) c
where a.cid=c.cid);
哎,禁不住说一声,苦逼程序员啊,都这么晚不睡
你试试吧,按照你描述的,我这么写应该就通过了,有问题直接hi追问
你也很晚还在,那个c是什么?
追答c是SELECT cid,COUNT(*) counts FROM comment GROUP BY cid这一串的结果集,起了个别名叫c,其实你可以理解为一个临时表,将来要调用这里边的数
是不这么说不太好理解啊?
这样
select b.counts from
(select id,count(*) counts from 表a) b
where b.counts=2
这么看一目了然了吧,那个c跟这个一个性质
好吧 知道了
追答先睡了,希望这问题别被推荐,要不又接不上了
参考技术A Update Bset B.cnum = A.Total
From B
INNER JOIN (SELECT cid,COUNT(*) AS Total FROM A GROUP BY cid) A
ON B.cid =A.cid 参考技术B update b
set b.cnum = a.cnum
From (select cid,count(*) AS cnum from a group by cid) a
where b.cid =a.cid
不知道就说不知道的。还不能跟from。无知真可怕,lz回家吃奶吧
MySql数据库语句用法
一、语句
SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
Navicat for mysql的简单使用
1、创建数据库
2、创建表,选中表,右键,新建表
3、表修改增加、删除和修改
4、查询数据:双击某个数据库,然后选择查询,右键,新建一个查询,然后就可以在里面编辑查询语句了,保存好这个查询,以后可以直接使用。
以上是关于mysql数据库,sql语句,把一个表中的统计数量,更新到两一个表中的主要内容,如果未能解决你的问题,请参考以下文章