MYSQL学习

yao
yao
2024-06-26 / 0 评论 / 23 阅读 / 正在检测是否收录...

对于不同条件下计数

在MySQL中,要实现不同条件的计数,可以使用CASE语句结合聚合函数COUNT。以下是一个示例,假设有一个名为orders的表,其中包含status字段,表示订单的状态,如'completed', 'cancelled', 或 'pending'。

要计算每种状态的订单数量,可以使用以下SQL查询:

SELECT
  COUNT(CASE WHEN status = 'completed' THEN 1 END) AS completed_count,
  COUNT(CASE WHEN status = 'cancelled' THEN 1 END) AS cancelled_count,
  COUNT(CASE WHEN status = 'pending' THEN 1 END) AS pending_count
FROM
  orders;

自连接查询

左表和右表是同一个表,根据连接查询条件查询两个表中的数据。

自连接查询的用法:

select c.id, c.title, c.pid, p.title from areas as c inner join areas as p on c.pid = p.id where p.title = '山西省';

说明:自连接查询必须对表起别名

多表查询

在MySQL中,多表查询通常指的是JOIN操作,用于结合两个或多个表中的相关列。JOIN类型主要有:INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL OUTER JOIN(全外连接)。

0

评论 (0)

取消