运用Navicat写SQL:汇总分析

记得上次我帮邻居王先生检查货物。
我记得他的小笔记本就像一本圣经。
后来我让Navicat创建了一个表,当他运行SQL时,他立即知道还剩下什么,返回了什么。
不,他每天都告诉我信息有多么有价值。

计数功能真是个宝。
上次我们检查社区的停车场时,我们自动统计了 (1 ) 个非空停车场,并在几秒钟内得到了结果。
什么是计数()?这就像数宇宙中的星星一样。
无法计算。
在 Navicat 中运行查询并通过单击鼠标执行它。
他的速度比一个送热菜的男孩还要快。

关于分组,我想按月获取当天的销售统计数据。
我使用了 GROUP BY 月份(sequence_date),但是当我完成后,哦,即使在闰年,二月也分成了一个单独的组。
如果你没有注意到这一点,报告出来后你就会被老板骂。
Navicat 的预览功能非常棒。
跑步前你可能会粗略地看一下。

HAVING 子句一开始很令人困惑。
如果你想按组过滤条件,例如只查看超过 1 00,000 的销售月份,你应该住。
我记得上次尝试使用 WHERE,但没有成功。
经过询问,我发现HAVING是团体条件所必需的。
在Navicat中更改设置并再次运行后,看起来就像调整遥控器并单击它一样。

如果你经常使用ORDER BY,它会更容易使用。
上次我计划公司活动时,我按照升序排列了时间。
在 Navicat 中拖动向上箭头,升序和降序序列会立即完成。
跑出去一看,哦,第一天活动已经1 2 点了。
我想把它改回来。

总而言之,我那天做了一个销售分析。
我必须查看每个地区的销售额,按地区名称排序,然后只查看前三个销售额。
SQL是用GROUP BY Region、ORDER BY sum(sales) DESC、LIMIT 3 写的。
我刚刚碰到Navicat,哦,上海、北京、广东,是不是很眼熟?这不是前三名吗?如果我不小心添加了过滤条件,例如仅查看 2 02 3 年、“2 02 3 -01 -01 ”和“2 02 3 -1 2 -3 1 ”之间的日期我应该添加它吗?
这是您使用 Navicat 时获得的软件。
它不允许你编写 SQL,它允许你找到数据中的秘密。
例如,上次运行查询时,我首先想查看每个产品的销量,但某个小产品的销量异常高。
经查,原来是双十一现象。
当时我真的觉得信息不言自明。
等等,还有别的事。
当我写完 SQL 并将其复制到 Navicat 后,它显示了语法错误。
当我看去时,昏迷已经消失了。
如果在数据库中完成此操作会崩溃吗? Navicat 很棒,它已经为你知道了。

当您使用 SQL 时,放置构建块就像一个接一个地构建它们。
一旦你正确构建它们,它就会很有趣。
每次我点击 Navicat 中的运行按钮时,我感觉就像点击了一个魔法阵。
我突然想到,如果以后AI能写SQL,我们键盘手是不是还要学点别的东西?

可不可以用一条SQL语句查询多人各自成绩的总和?

说白了,写SQL查看成绩统计的关键有两步:先分组,再计算数字。
然而,这种方法有几个需要避免的陷阱。

扩展一下,先用分组+汇总求和。
比如你的第一个SQL中,按名字写一个group是可以的,但是不要漏掉ORDER BY:去年我们跑这个项目的时候,有同学忘记加这句话了,结果就是一团乱七八糟的数据。
还有一点是,第二条SQL中的CASE WHEN分类非常清晰,但是请注意条件写反了。
例如,“优秀”范围应该>=9 0,而不是>9 0:去年分析3 000级别的数据时,这个细节差点导致报告崩溃。
还有另一个关键细节。
分组后选择的字段要么构成分组的基础,要么必须输入到聚合函数中。
例如,你在第二条SQL中没有给sname添加SUM,但是没有报错。
说实话,这很令人困惑。

一开始我以为GROUP BY足以进行分组,但后来发现不对劲。
比如我在Oracle中的SELECT中如果没有添加GROUP BY字段,就会直接报错。
等等,还有别的事。
如果表的数据量很大,在分组之前通过WHERE进行过滤可以节省大量的计算能力。

建议尝试WITH子句的写法,或者将复杂的CASE分成临时表,代码看起来会更干净。

SQL求总分及平均值

结论:使用SQL计算总分和平均分。
步骤如下。

1 .在数据库软件中创建查询并选择“新建查询”。
2 、编写SQL:classtableversion作为平均分;选择平均值(分数); 3 、表连接:首先连接班级表和学生表;然后将班级表连接到学生表。
4 、Join命令:将班级表从学生表连接到班级表。
班级表=学生表。
班级表。
5 .分组计算:按行表分组。

我称体重。