- 跟着黑马学mysql(5)
小杜不吃糖
mysql数据库
17.DQL-聚合函数DQL-聚合函数介绍将一列数据作为一个整体,进行纵向计算。常见聚合函数函数功能count统计数量max最大值min最小值avg平均值sum求和语法SELECT聚合函数(字段列表)FROM表名;注意:所有的null值不参与聚合函数的运算18.DQL-分组查询语法SELECT字段列表FROM表名[WHERE条件]GROUPBY分组字段名[HAVING分组后的过滤条件];where
- 2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
肾透侧视攻城狮
MYSQLREDISAdvanceoperationredismysql数据库linuxsqlbashadb
目录1MySQL视图1.概念2.作用3.特点4.具体如何操作实现MYSQL视图4.1创建视图语法示例查看表和视图查看视图的结构查看视图属性信息(比如:显示数据表的存储引擎、版本、数据行数和数据大小等)查看视图的详细定义信息4.2修改视图简介格式举例4.3更新视图简介下述结构中不可更新的视图补充说明举例更新视图视图包含聚合函数不可更新视图包含distinct不可更新视图包含goupby、having
- MySQL数据库--分组与统计
pzn)
MySQL数据库数据库mysqlsql
目录1.统计函数1.1COUNT()函数1.2SUM()函数1.3AVG()函数1.4MAX()函数1.5MIN()函数2.分组查询2.1单独使用GROUPBY分组查询2.2使用GROUPBY分组和统计函数一起查询2.3HAVING限制分组查询结果欢迎1.统计函数有时我们要的不是数据表中的原始数据,而是需要进行一点简单加工后的统计数据。函数功能描述COUNT()统计数据表中记录的行数SUM()计算
- 『 MySQL数据库 』聚合统计
Dio夹心小面包
数据库数据库mysql
文章目录前言聚合函数COUNT()查询数据数量SUM()查询数据总和AVG()查询数据平均值MAX()查询数据最大值MIN()查询数据最小值数据分组GROUPBY子句GROUPBY示例HAVING语句前言在MySQL中存在一种查询方式叫做聚合查询;聚合查询顾名思义就是将一组数据的同种类型进行聚合,那么既然是一组同类型的数据那么即必须要对该数据进行分组同时再对这组数据进行聚合;所以对于聚合查询来说时
- mysql之连接符函数使用sql顺序以及键约束介绍
calmtho
数据库mysql
文章目录单表查询1.格式2.关键字连接符操作符等3.分组函数/聚合函数/多行处理函数2.连接查询3.进阶类关键字1.union合并查询结果集2.limit分页时间表的键存储引擎mysql执行脚本指令案例sql脚本单表查询1.格式select...from...where...groupby...having...orderby...执行顺序:1.from2.where3.groupby4.havi
- 英语|记单词这件事
蓝色33
文/蓝色33图片发自App关于记单词这件事,只想说两个字:坚持。从微博上找的一些词根词缀,可以帮助你记单词哦。图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App另外,分享一下这几天的早读。Day.18.12早读ltisfriendslikeyouthatmakethosedarktimesworthhaving.万般过眼成
- 【MySQL】深圳大学数据库实验二
看未来捏
深大数据库数据库mysql
目录一、实验目的二、实验要求三、实验设备四、建议的实验步骤4.1EXERCISES5GROUPBY&HAVINGGROUPBY的用法HAVING的用法综合示例小结4.2EXERCISES6SUBQUERIES.1.标量子查询(ScalarSubquery)2.行子查询(RowSubquery)3.表子查询(TableSubquery)4.相关子查询(CorrelatedSubquery)5.非相关
- 小学英语初级高频词汇学习- be
英语小天地nice
1)be+现在分词,构成进行时态,例如:Theyarehavingameeting.他们正在开会.Englishisbecomingmoreandmoreimportant.英语现在越来越重要.2)be+过去分词,构成被动语态,例如:ThewindowwasbrokenbyTom..窗户是汤姆打碎的.Englishistaughtthroughouttheworld.世界各地都教英语.3)be+动
- 2018-11-30 选择和歧视
Curtain_d9d5
Ican'ttakecareofeveryone'sthoughts.Ihavetoexpresssomethingforthespecialgroupofpeopleordevotemyenergytosomespecialthings.AndIhavetodothat,IfIwanttodosomethinggood.Havingthisattitutedwemaycanlivenotthat
- 飘,书摘
Yin爱丽丝
BeatriceTarletonwasabusywoman,havingonherhandsnotonlyalargecottonplantation,ahundrednegroesandeightchildren,butthelargesthorse-breedingfarminthestateaswell.Shewashottemperedandeasilyplaguedbythefreque
- HiveSQL一本通 - 案例实操,2024年最新大数据开发编程基础班
疯狂的石头。
程序员大数据
count(stu_id)stu_countfromscore_infogroupbycourse_idhavingstu_count>=15;(3)查询结果。course_idstu_count0119021903196.3.4查询结果排序和分组指定条件1.查询学生的总成绩并按照总成绩降序排序(1)思路分析。本题主要考查分组聚合和orderby关键字的使用。(2)查询语句。hive>select
- 【SQL】删除表中重复数据的方法
翠花上酸菜
sqlsql数据库
很久之前我写入一张sql的数据表,它里面有很多重复的内容。然后我想只保留一条原始数据:例如上面的时间,出现了很多重复值。我最初用的是这种方法:SELECT*FROMtable_nameWHEREprimary_keyIN(SELECTmax(primary_key)FROMtable_nameGROUPBYnoticeTimeHAVINGCOUNT(*)>1);我们看看最里面的语句部分:SELEC
- nice sentences(摘录)
Silvenli
Nothinginlifeistobefeared,itisonlytobeunderstood.Nowisthetimetounderstandmore,sothatwemayfearless.——居里夫人Therealvoyageofdiscoveryconsistsnotinseekingnewlandscapes,butinhavingneweyes.真正的发现之旅不在于寻找新的风景,而在
- 【早安心语】
壹典心理咨询
【2021-12-24】早安春夏秋冬Happylifeisunhappy,themoodisnotgoodtoseethementality,thementalitydoesnotlookatthepractice,thehappiestpersonisnothavingthebest,buttheycanmakeeverythingbest,soletushavesimplehappiness.
- mysql 聚合函数 / having
_Rookie._
MYSQLmysql
与聚合函数同时出现的列,必须同时出现在groupby子句中过滤条件中使用了聚合函数,必须用having替换where过滤条件中没有使用聚合函数,可以用having或者where建议wherehavingmax()having使用范围更广having是先连接后筛选,where是先筛选后连接sql执行顺序1、fromjoinwheregroupbyhaving2、selectdistinct聚合函数3
- mysql中怎么查表中的数据_[MySQL] 用select查询数据表中的记录
18125857287
mysql中怎么查表中的数据
用select查询数据表中的记录select语句的基本语法如下:selectselection_list选择那些列fromtable_list从那个表去选择行whereprimary_constraint行必须满足的条件groupbygrouping_columns对结果如何分组havingsecondary_constraint行必须满足的第二条件orderbysorting_colums对结果
- 每天记录一件值得感恩的事情Day84
写作业去了
嗷,断更几天,今天继续吧~最近吃吃喝喝跑跑,被作业难住鸟好痛苦哟。感恩小熊带我吃了不少好吃的,比如韩国烤又又,翡翠小厨的担担面,还有havinghere的多米诺pizza~周五要交aml作业要把IoTpresentation搞定还要申公民报水电嗷嗷嗷,明天电脑下载一个todolist,拖延症没救了,哎。。今天也是可爱的辉夜姬~
- PostgreSQL HAVING 子句
嘀嗒运维
HAVING子句可以让我们筛选分组后的各组数据。WHERE子句在所选列上设置条件,而HAVING子句则在由GROUPBY子句创建的分组上设置条件。语法下面是HAVING子句在SELECT查询中的位置:SELECTFROMWHEREGROUPBYHAVINGORDERBYHAVING子句必须放置于GROUPBY子句后面,ORDERBY子句前面,下面是HAVING子句在SELECT语句中基础语法:SE
- MySQL:多表连接查询(2)
舟渡的锅儿
3.sql99标准语法select查询列表from表1别名【连接类型】join表2别名on连接条件(内连接inner,左外连接leftouter,右外连接rightouter,全外连接fullouter,交叉连接cross)【where筛选条件】【groupby分组条件】【having筛选条件】【orderby排序列表】内连接-等值连接案例:查询员工名和对应的部门名SELECT`last_name
- 分库分表学习笔记(一)
Murphy.Wang
关系型数据库数据库
图源(鹅厂技术架构师公众号)MySQL执行顺序:FROM:确定数据来源。JOIN:执行表之间的连接操作。WHERE:过滤记录。GROUPBY:对记录进行分组。HAVING:对分组结果进行过滤。SELECT:选择要返回的列。DISTINCT:去除重复记录(如果有)。ORDERBY:对结果排序。LIMIT:限制返回的记录数量。分表分库的演进系统随着用户量的提升,整个分库分表有以下阶段,随着数据库QPS
- 飘,书摘
Yin爱丽丝
BeatriceTarletonwasabusywoman,havingonherhandsnotonlyalargecottonplantation,ahundrednegroesandeightchildren,butthelargesthorse-breedingfarminthestateaswell.Shewashottemperedandeasilyplaguedbythefreque
- 【Mysql数据库基础05】子查询 where、from、exists子查询、分页查询
失舵之舟-
#mysql基础数据库mysql数据库系统子查询分页查询where子查询from子查询
where、from、exists子查询、分页查询1where子查询1.1where后面的标量子查询1.1.1having后的标量子查询1.2where后面的列子查询1.3where后面的行子查询(了解即可)2from子查询3exists子查询(相关子查询)4分页查询5联合查询6练习1where子查询1.1where后面的标量子查询1.谁的工资比Abel高?select*fromemployees
- DQL语句
会写代码的物理老师
数据库sql数据库mysql
文章目录查询语句的执行流程查询注入问题建表语句一、基本查询语句二、条件语句三.分组语句四.排序查询五.分页查询六.多表查询七.子查询函数表间关系多表练习查询语句的执行流程首先执行为的为是from后的数据源(也就是各类表)然后是where语句后的指定条件对记录进行筛选然后是groupby将数据进行分组在进行聚集函数的计算然后是having对分组数据进行筛选计算表达式selectdistinctord
- 【MySQL】数据分组(关键字:GROUP BY)过滤分组(关键字:HAVING)
我梦Leo
MySQLmysql数据库
文章目录数据分组,关键字:GROUPBY过滤分组,关键字:HAVING常见SELECT子句顺序我是一名立志把细节说清楚的博主,欢迎【关注】~原创不易,如果有帮助,记得【点赞】【收藏】哦~❥(^_-)~如有错误、疑惑,欢迎【评论】指正探讨,我会尽可能第一时间回复的,谢谢支持数据分组,关键字:GROUPBY如果分组列中具有NULL值,则NULL将作为一个分组返回。如果列中有多行NULL值,它们将分为一
- 基于规则的优化
槐_序
MySQL会对用户编写的查询语句执行一些重写操作,比如:移除不必要的括号常量传递移除没用的条件表达式计算:最好让那个索引列以单独的形式出现在搜索条件表达式中。HAVING子句和WHERE子句的合并:如果查询语句中没用出现诸如SUM,MAX这样的聚集函数以及GROUPBY子句,查询优化器就会把HAVING子句和WHERE子句合并起来。常量表的检测:查询优化器在分析一个查询语句时,首先执行常量表查询,
- python去除图片背景,使用Python / PIL从图像中删除背景色
王后浪
python去除图片背景
I'vebeentryingtogetthistoworkandamreallyhavingtrouble,sowouldbeverygratefulforsomehelp.Usingthecodebelow,IwanttochangethefeatureswiththespecifiedRGBvaluestowhite,andalltheotherfeaturesintheimageblack(
- Elasticsearch教程(6) ES桶聚合Query DSL-Terms Aggregation
瑟 王
Elasticsearchtermsaggregation
Elasticsearch桶聚合TermsAggregation1准备测试数据1.1插入数据DSL1.2表格展示2TermsAggregation(根据字段的值分组)2.1根据dept分组,求每个部门的数量2.1.1SQL2.1.2DSL2.2根据dept分组,求每个部门的数量,并排序2.2.1SQL2.2.2DSL2.3对统计结果过滤,加having2.3.1SQL2.3.2SQL转DSL语句2
- 数据库:深入解析SQL分组与聚合——提升数据查询效率的关键技巧
upgrador
#数据库数据库sqljava
数据库:深入解析SQL分组与聚合——提升数据查询效率的关键技巧在数据分析和数据库管理中,SQL的分组与排序操作是不可或缺的工具。本篇博客将深入探讨GROUPBY和ORDERBY的使用方法,并通过实际案例说明如何通过分组实现数据聚合以及如何对结果进行排序。此外,还将分析HAVING与WHERE子句在过滤数据时的区别和联系,帮助开发者在实际应用中更高效地处理复杂查询。一、概述在SQL查询中,GROUP
- 762. Prime Number of Set Bits in Binary Representation
Nancyberry
DescriptionGiventwointegersLandR,findthecountofnumbersintherange[L,R](inclusive)havingaprimenumberofsetbitsintheirbinaryrepresentation.(Recallthatthenumberofsetbitsanintegerhasisthenumberof1spresentwh
- sql查询重复记录并统计重复次数
A_aspectJ
sql语句sql数据库
(1)sql查询重复记录并统计重复次数selectuserName,count(*)重复次数fromusergroupbyuserNamehavingcount(*)>1(2)查询重复记录明细select*fromuserwhereuserNamein(selectuserNamefromusergroupbyuserNamehavingcount(userName)>1)(3)只保留一条数据--
- 多线程编程之理财
周凡杨
java多线程生产者消费者理财
现实生活中,我们一边工作,一边消费,正常情况下会把多余的钱存起来,比如存到余额宝,还可以多挣点钱,现在就有这个情况:我每月可以发工资20000万元 (暂定每月的1号),每月消费5000(租房+生活费)元(暂定每月的1号),其中租金是大头占90%,交房租的方式可以选择(一月一交,两月一交、三月一交),理财:1万元存余额宝一天可以赚1元钱,
- [Zookeeper学习笔记之三]Zookeeper会话超时机制
bit1129
zookeeper
首先,会话超时是由Zookeeper服务端通知客户端会话已经超时,客户端不能自行决定会话已经超时,不过客户端可以通过调用Zookeeper.close()主动的发起会话结束请求,如下的代码输出内容
Created /zoo-739160015
CONNECTEDCONNECTED
.............CONNECTEDCONNECTED
CONNECTEDCLOSEDCLOSED
- SecureCRT快捷键
daizj
secureCRT快捷键
ctrl + a : 移动光标到行首ctrl + e :移动光标到行尾crtl + b: 光标前移1个字符crtl + f: 光标后移1个字符crtl + h : 删除光标之前的一个字符ctrl + d :删除光标之后的一个字符crtl + k :删除光标到行尾所有字符crtl + u : 删除光标至行首所有字符crtl + w: 删除光标至行首
- Java 子类与父类这间的转换
周凡杨
java 父类与子类的转换
最近同事调的一个服务报错,查看后是日期之间转换出的问题。代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象。报java.lang.ClassCastException。
代码:
- 可视化swing界面编辑
朱辉辉33
eclipseswing
今天发现了一个WindowBuilder插件,功能好强大,啊哈哈,从此告别手动编辑swing界面代码,直接像VB那样编辑界面,代码会自动生成。
首先在Eclipse中点击help,选择Install New Software,然后在Work with中输入WindowBui
- web报表工具FineReport常用函数的用法总结(文本函数)
老A不折腾
finereportweb报表工具报表软件java报表
文本函数
CHAR
CHAR(number):根据指定数字返回对应的字符。CHAR函数可将计算机其他类型的数字代码转换为字符。
Number:用于指定字符的数字,介于1Number:用于指定字符的数字,介于165535之间(包括1和65535)。
示例:
CHAR(88)等于“X”。
CHAR(45)等于“-”。
CODE
CODE(text):计算文本串中第一个字
- mysql安装出错
林鹤霄
mysql安装
[root@localhost ~]# rpm -ivh MySQL-server-5.5.24-1.linux2.6.x86_64.rpm Preparing... #####################
- linux下编译libuv
aigo
libuv
下载最新版本的libuv源码,解压后执行:
./autogen.sh
这时会提醒找不到automake命令,通过一下命令执行安装(redhat系用yum,Debian系用apt-get):
# yum -y install automake
# yum -y install libtool
如果提示错误:make: *** No targe
- 中国行政区数据及三级联动菜单
alxw4616
近期做项目需要三级联动菜单,上网查了半天竟然没有发现一个能直接用的!
呵呵,都要自己填数据....我了个去这东西麻烦就麻烦的数据上.
哎,自己没办法动手写吧.
现将这些数据共享出了,以方便大家.嗯,代码也可以直接使用
文件说明
lib\area.sql -- 县及县以上行政区划分代码(截止2013年8月31日)来源:国家统计局 发布时间:2014-01-17 15:0
- 哈夫曼加密文件
百合不是茶
哈夫曼压缩哈夫曼加密二叉树
在上一篇介绍过哈夫曼编码的基础知识,下面就直接介绍使用哈夫曼编码怎么来做文件加密或者压缩与解压的软件,对于新手来是有点难度的,主要还是要理清楚步骤;
加密步骤:
1,统计文件中字节出现的次数,作为权值
2,创建节点和哈夫曼树
3,得到每个子节点01串
4,使用哈夫曼编码表示每个字节
- JDK1.5 Cyclicbarrier实例
bijian1013
javathreadjava多线程Cyclicbarrier
CyclicBarrier类
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。
CyclicBarrier支持一个可选的 Runnable 命令,
- 九项重要的职业规划
bijian1013
工作学习
一. 学习的步伐不停止 古人说,活到老,学到老。终身学习应该是您的座右铭。 世界在不断变化,每个人都在寻找各自的事业途径。 您只有保证了足够的技能储
- 【Java范型四】范型方法
bit1129
java
范型参数不仅仅可以用于类型的声明上,例如
package com.tom.lang.generics;
import java.util.List;
public class Generics<T> {
private T value;
public Generics(T value) {
this.value =
- 【Hadoop十三】HDFS Java API基本操作
bit1129
hadoop
package com.examples.hadoop;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoo
- ua实现split字符串分隔
ronin47
lua split
LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或 C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。LUA只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从 而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函
- java-从先序遍历和中序遍历重建二叉树
bylijinnan
java
public class BuildTreePreOrderInOrder {
/**
* Build Binary Tree from PreOrder and InOrder
* _______7______
/ \
__10__ ___2
/ \ /
4
- openfire开发指南《连接和登陆》
开窍的石头
openfire开发指南smack
第一步
官网下载smack.jar包
下载地址:http://www.igniterealtime.org/downloads/index.jsp#smack
第二步
把smack里边的jar导入你新建的java项目中
开始编写smack连接openfire代码
p
- [移动通讯]手机后盖应该按需要能够随时开启
comsci
移动
看到新的手机,很多由金属材质做的外壳,内存和闪存容量越来越大,CPU速度越来越快,对于这些改进,我们非常高兴,也非常欢迎
但是,对于手机的新设计,有几点我们也要注意
第一:手机的后盖应该能够被用户自行取下来,手机的电池的可更换性应该是必须保留的设计,
- 20款国外知名的php开源cms系统
cuiyadll
cms
内容管理系统,简称CMS,是一种简易的发布和管理新闻的程序。用户可以在后端管理系统中发布,编辑和删除文章,即使您不需要懂得HTML和其他脚本语言,这就是CMS的优点。
在这里我决定介绍20款目前国外市面上最流行的开源的PHP内容管理系统,以便没有PHP知识的读者也可以通过国外内容管理系统建立自己的网站。
1. Wordpress
WordPress的是一个功能强大且易于使用的内容管
- Java生成全局唯一标识符
darrenzhu
javauuiduniqueidentifierid
How to generate a globally unique identifier in Java
http://stackoverflow.com/questions/21536572/generate-unique-id-in-java-to-label-groups-of-related-entries-in-a-log
http://stackoverflow
- php安装模块检测是否已安装过, 使用的SQL语句
dcj3sjt126com
sql
SHOW [FULL] TABLES [FROM db_name] [LIKE 'pattern']
SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow db_name命令得到此清单。
本命令也列举数据库中的其它视图。支持FULL修改符,这样SHOW FULL TABLES就可以显示第二个输出列。对于一个表,第二列的值为BASE T
- 5天学会一种 web 开发框架
dcj3sjt126com
Web框架framework
web framework层出不穷,特别是ruby/python,各有10+个,php/java也是一大堆 根据我自己的经验写了一个to do list,按照这个清单,一条一条的学习,事半功倍,很快就能掌握 一共25条,即便很磨蹭,2小时也能搞定一条,25*2=50。只需要50小时就能掌握任意一种web框架
各类web框架大同小异:现代web开发框架的6大元素,把握主线,就不会迷路
建议把本文
- Gson使用三(Map集合的处理,一对多处理)
eksliang
jsongsonGson mapGson 集合处理
转载请出自出处:http://eksliang.iteye.com/blog/2175532 一、概述
Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。 二、Map参考实例
package com.ickes.json;
import java.lang.refl
- cordova实现“再点击一次退出”效果
gundumw100
android
基本的写法如下:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
//navigator.splashscreen.hide();
document.addEventListener("b
- openldap configuration leaning note
iwindyforest
configuration
hostname // to display the computer name
hostname <changed name> // to change
go to: /etc/sysconfig/network, add/modify HOSTNAME=NEWNAME to change permenately
dont forget to change /etc/hosts
- Nullability and Objective-C
啸笑天
Objective-C
https://developer.apple.com/swift/blog/?id=25
http://www.cocoachina.com/ios/20150601/11989.html
http://blog.csdn.net/zhangao0086/article/details/44409913
http://blog.sunnyxx
- jsp中实现参数隐藏的两种方法
macroli
JavaScriptjsp
在一个JSP页面有一个链接,//确定是一个链接?点击弹出一个页面,需要传给这个页面一些参数。//正常的方法是设置弹出页面的src="***.do?p1=aaa&p2=bbb&p3=ccc"//确定目标URL是Action来处理?但是这样会在页面上看到传过来的参数,可能会不安全。要求实现src="***.do",参数通过其他方法传!//////
- Bootstrap A标签关闭modal并打开新的链接解决方案
qiaolevip
每天进步一点点学习永无止境bootstrap纵观千象
Bootstrap里面的js modal控件使用起来很方便,关闭也很简单。只需添加标签 data-dismiss="modal" 即可。
可是偏偏有时候需要a标签既要关闭modal,有要打开新的链接,尝试多种方法未果。只好使用原始js来控制。
<a href="#/group-buy" class="btn bt
- 二维数组在Java和C中的区别
流淚的芥末
javac二维数组数组
Java代码:
public class test03 {
public static void main(String[] args) {
int[][] a = {{1},{2,3},{4,5,6}};
System.out.println(a[0][1]);
}
}
运行结果:
Exception in thread "mai
- systemctl命令用法
wmlJava
linuxsystemctl
对比表,以 apache / httpd 为例 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 httpd on systemctl enable httpd.service 使某服务不自动启动 chkconfig --level 3 httpd off systemctl disable httpd.service 检查服务状态 service h