SELECT COUNT(`day`) FROM dap_metadata_table_record day去重后计数
时间: 2023-08-15 12:05:57 浏览: 96
您的问题是对数据库进行查询,查询语句应该是类似于这样的:
```
SELECT COUNT(DISTINCT `day`) FROM dap_metadata_table_record;
```
这个查询语句中,使用了 COUNT 函数来计算 `day` 字段的去重后数量,使用了 DISTINCT 关键字来确保计数的是去重后的数量。
相关问题
SELECT dmtr.`day`, dmtr.column_num, dmtr.table_num FROM dap_metadata_table_record AS dmtr GROUP BY dmtr.`day` ORDER BY dmtr.`day`
这是一个 SQL 查询语句,作用是从名为 `dap_metadata_table_record` 的表中查询出每个不同 `day` 值对应的 `column_num` 和 `table_num` 列,并按 `day` 值升序排序。具体解释如下:
- `SELECT dmtr.`day`, dmtr.column_num, dmtr.table_num`:指定查询的列,分别为 `day`、`column_num` 和 `table_num`。
- `FROM dap_metadata_table_record AS dmtr`:指定查询的表为 `dap_metadata_table_record`,并使用别名 `dmtr`。
- `GROUP BY dmtr.`day``:按 `day` 列进行分组,即将具有相同 `day` 值的记录看成一组。
- `ORDER BY dmtr.`day``:按 `day` 列的值升序排序,即先查询出最小的 `day` 值的记录,然后是次小的,依次类推。
需要注意的是,在 `SELECT` 语句中选择的列必须是在 `GROUP BY` 子句中出现的列,或者是使用聚合函数(如 `COUNT`、`SUM`)计算的列。否则,执行这个查询语句时会报错。
SELECT dmtr.`day`, dmtr.column_num, dmtr.table_num FROM dap_metadata_table_record AS dmtr 将以上sql加上只查询day字段最大的7条数据
可以使用如下SQL语句来实现:
```
SELECT dmtr.`day`, dmtr.column_num, dmtr.table_num
FROM dap_metadata_table_record AS dmtr
WHERE dmtr.`day` IN (
SELECT DISTINCT `day` FROM dap_metadata_table_record
ORDER BY `day` DESC LIMIT 7
)
ORDER BY dmtr.`day` DESC
```
这条SQL语句会先查询出所有不重复的日期,并按日期降序排列,然后只选取前7条日期。接着,外层查询会根据这7条日期来筛选出对应的数据行,并再次按日期降序排列。最终结果是只包含day字段最大的7条数据。
阅读全文