sql计算一张表里面今天数据的数量字段和昨数据的数量字段算出百分比
时间: 2024-02-25 09:52:43 浏览: 18
假设你有一个名为table_name的表,其中包括一个名为quantity的字段。你可以使用以下SQL查询计算今天和昨天这两条数据中quantity字段的百分比:
```
SELECT
(SELECT SUM(quantity) FROM table_name WHERE DATE(created_at) = CURDATE()) AS today_quantity,
(SELECT SUM(quantity) FROM table_name WHERE DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)) AS yesterday_quantity,
((SELECT SUM(quantity) FROM table_name WHERE DATE(created_at) = CURDATE()) / (SELECT SUM(quantity) FROM table_name WHERE DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY))) * 100 AS percentage
```
请将上面的查询中的table_name和quantity替换为你实际使用的表和字段名。这个查询将返回今天和昨天这两条数据中quantity字段的数量以及计算出的百分比。
相关问题
sql计算今天和昨天两条数据中一个字段的百分比
假设你有一个名为table_name的表,其中包括一个名为field_name的字段。你可以使用以下SQL查询计算今天和昨天这两条数据中一个字段的百分比:
```
SELECT
(SELECT COUNT(*) FROM table_name WHERE field_name = 'value' AND DATE(created_at) = CURDATE()) AS today_count,
(SELECT COUNT(*) FROM table_name WHERE field_name = 'value' AND DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)) AS yesterday_count,
((SELECT COUNT(*) FROM table_name WHERE field_name = 'value' AND DATE(created_at) = CURDATE()) / (SELECT COUNT(*) FROM table_name WHERE field_name = 'value' AND DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY))) * 100 AS percentage
```
请将上面的查询中的table_name和field_name替换为你实际使用的表和字段名,'value'替换为你要计算百分比的字段值。这个查询将返回今天和昨天这两条数据中一个字段的数量以及计算出的百分比。
sql计算今年和去年两条数据中一个字段的百分比
假设你有一个数据表格名为`my_table`,里面有一个字段为`my_field`,下面是计算今年和去年`my_field`百分比的 SQL 语句:
```
SELECT
(this_year.my_field - last_year.my_field) / last_year.my_field AS percentage
FROM
(SELECT my_field FROM my_table WHERE year = 'this_year') AS this_year,
(SELECT my_field FROM my_table WHERE year = 'last_year') AS last_year;
```
其中,`this_year` 和 `last_year` 是两个子查询,这里用字符串 `'this_year'` 和 `'last_year'` 来代替真实的年份,你需要将它们替换为实际的年份值。这个 SQL 语句将会返回今年和去年的 `my_field` 的百分比。