本文章主要记录下常用的sql查询,简单的直接展示语句,复杂的做一下解释。
要按月统计每月的订单数量,您可以使用MySQL中的日期函数和聚合函数。假设您有一个名为"orders"的表,其中包含订单信息,并且有一个名为"order_date"的列,其中包含订单的日期。
以下是一个示例查询,可以按月统计每月的订单数量:
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
子句按订单月份进行排序。
执行此查询后,您将获得一个结果集,其中包含每个月的订单数量
SELECT column1, column2, ...
FROM your_table
ORDER BY column1 ASC, column2 ASC;
SELECT column1, column2, ...
FROM your_table
ORDER BY column1 DESC, column2 DESC;
使用 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%';
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的值,从而更好地处理和分析数据
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
这个查询会返回
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}
匹配时间部分(时:分:秒)。请注意,这种方法假设日期和时间之间只有一个空格,并且时间部分始终紧跟在日期之后。如果字符串中的格式有所不同,您可能需要调整正则表达式以适应实际的数据格式
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。