前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常用sql查询语句记录

常用sql查询语句记录

原创
作者头像
国服第二切图仔
发布2024-06-17 14:12:12
1190
发布2024-06-17 14:12:12
举报
文章被收录于专栏:数据库

前言

本文章主要记录下常用的sql查询,简单的直接展示语句,复杂的做一下解释。

1、sql按月统计每月订单数量

要按月统计每月的订单数量,您可以使用MySQL中的日期函数和聚合函数。假设您有一个名为"orders"的表,其中包含订单信息,并且有一个名为"order_date"的列,其中包含订单的日期。

以下是一个示例查询,可以按月统计每月的订单数量:

代码语言:javascript
复制
SELECT DATE_FORMAT(order_date, '%Y-%m') AS order_month, COUNT(*) AS order_count  
FROM orders  
GROUP BY order_month  
ORDER BY order_month;

在这个查询中,我们使用了DATE_FORMAT()函数将order_date列格式化为年和月的格式(例如2023-07),并将其命名为order_month。然后,我们使用COUNT(*)函数计算每个订单月份中的订单数量,并将其命名为order_count。最后,我们使用GROUP BY子句按订单月份进行分组,并使用ORDER BY子句按订单月份进行排序。

执行此查询后,您将获得一个结果集,其中包含每个月的订单数量

2、sql按升序排列

代码语言:javascript
复制
SELECT column1, column2, ...  
FROM your_table  
ORDER BY column1 ASC, column2 ASC;

3、sql按降序排列

代码语言:javascript
复制
SELECT column1, column2, ...  
FROM your_table  
ORDER BY column1 DESC, column2 DESC;

4、pgsql模糊查询

代码语言:javascript
复制
使用 LIKE 进行模糊查询
SELECT column_name  
FROM table_name  
WHERE column_name LIKE pattern;


% 是通配符,表示任意字符序列(包括空字符序列),而 _ 是通配符,表示任意单个字符
下述查询将返回以 "John" 开头的所有客户记录。
SELECT *  
FROM customers  
WHERE customer_name LIKE 'John%';


使用 ILIKE 进行不区分大小写的模糊查询
SELECT column_name  
FROM table_name  
WHERE column_name ILIKE pattern;


下述查询将返回以 "john" 开头的所有客户记录,不区分大小写
SELECT *  
FROM customers  
WHERE customer_name ILIKE 'john%';

5、pgsql中从两列中取非空的值

代码语言:javascript
复制
SELECT COALESCE(first_name, last_name) AS name FROM employees;

在这个例子中,如果"first_name"是非NULL的,那么查询就会返回"first_name"的值。如果"first_name"是NULL,但"last_name"是非NULL的,那么查询就会返回"last_name"的值。如果两列都是NULL,那么查询就会返回NULL。

总的来说,COALESCE函数在处理可能包含NULL值的数据时非常有用,它能帮助我们获取第一个非NULL的值,从而更好地处理和分析数据

6、pgsql中截取出字段中的时间日期

代码语言:javascript
复制
SELECT   
    SUBSTRING('梁跃刚 2024-01-29 10:56:53' FROM '(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})') AS extracted_datetime  
FROM   
  bbb 

SELECT   
    SUBSTRING(field FROM '(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})') AS extracted_datetime  
FROM   
  bbb 

这个查询会返回

代码语言:javascript
复制
extracted_datetime 
------------------
 2024-01-29 10:56:53

在正则表达式 (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) 中:

  • \d{4}-\d{2}-\d{2} 匹配日期部分(年-月-日)。
  • 匹配空格。
  • \d{2}:\d{2}:\d{2} 匹配时间部分(时:分:秒)。

请注意,这种方法假设日期和时间之间只有一个空格,并且时间部分始终紧跟在日期之后。如果字符串中的格式有所不同,您可能需要调整正则表达式以适应实际的数据格式

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1、sql按月统计每月订单数量
  • 2、sql按升序排列
  • 3、sql按降序排列
  • 4、pgsql模糊查询
  • 5、pgsql中从两列中取非空的值
  • 6、pgsql中截取出字段中的时间日期
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档