有1表包含itemId 和reportId,itemId 或 reportId 有可能为空, 分组统计 reportId和 itemId 为一个字段
时间: 2024-03-05 07:49:53 浏览: 48
可以使用 MySQL 中的 GROUP_CONCAT 函数来实现。具体的 SQL 语句如下:
```
SELECT report_item, COUNT(*) AS count
FROM (
SELECT
CONCAT_WS('_', COALESCE(itemId, ''), COALESCE(reportId, '')) AS report_item
FROM your_table_name
) AS t
GROUP BY report_item;
```
其中,使用 CONCAT_WS 函数将 itemId 和 reportId 进行合并,并且在其中一个字段为空时用空字符串代替。然后使用 GROUP BY 对 report_item 进行分组统计,同时使用 COUNT 函数统计每组的数量。
相关问题
有1表包含itemId 和reportId,当itemId 有数据则reportId 为空, 分组统计 reportId和 itemId 总数
可以使用以下 SQL 语句进行分组统计:
```
SELECT reportId, COUNT(itemId) AS itemId_count
FROM your_table
GROUP BY reportId
```
这会将数据按照 reportId 进行分组,并统计每个组内 itemId 的数量。注意,由于 reportId 为空的数据也需要被统计,所以需要将 reportId 作为分组依据之一。
怎么把这种传参{reportId: 70}变成这种reportId: 70
如果你想将 {reportId: 70} 转换为 reportId: 70,可以直接访问对象的属性,将属性名和属性值分别赋给一个新的变量即可:
```javascript
const obj = {reportId: 70};
const reportId = obj.reportId;
```
这里我们创建了一个新的变量 reportId,并将 obj 的 reportId 属性值赋给了它。这样就完成了将 {reportId: 70} 转换为 reportId: 70 的操作。注意,如果你需要对一个对象进行多次访问,可以将它的属性值缓存到一个变量中,避免重复访问对象的属性。
阅读全文