行为pg_inquiry.username,列为pg_inquiry.bank_name,统计出pg_report中inquiryid 关联 pg_inquiry 的id的条数,并且pg_report.status 为3的结果
时间: 2024-04-14 09:29:52 浏览: 24
要统计出pg_report中inquiryid关联pg_inquiry的id的条数,并且pg_report的status为3,可以使用以下SQL查询语句:
```sql
SELECT
i.username,
i.bank_name,
COUNT(r.id) AS report_count
FROM
pg_inquiry i
JOIN pg_report r ON i.id = r.inquiryid
WHERE
r.status = 3
GROUP BY
i.username, i.bank_name;
```
这个查询语句使用了JOIN关键字将pg_inquiry表和pg_report表连接起来,连接条件是pg_inquiry的id与pg_report的inquiryid相等。然后使用WHERE子句筛选出pg_report的status等于3的记录。接着,使用COUNT函数对pg_report的id进行计数,作为列名report_count。最后,使用GROUP BY对username和bank_name进行分组,以实现按照username和bank_name统计report的数量。
请确保表pg_inquiry和pg_report在数据库中已经创建,并且存在相应的字段。如果实际情况有所不同,请相应地调整查询语句和表结构。
相关问题
表pg_report的外关键字inquiryid 关联 pg_inquiry 的id,请输出行为pg_inquiry.username, 列是pg_inquiry.bank_name,统计pg_report的数量
要输出行为pg_inquiry.username,列为pg_inquiry.bank_name,并统计pg_report的数量,可以使用以下SQL查询语句:
```sql
SELECT
i.username,
i.bank_name,
COUNT(r.id) AS report_count
FROM
pg_inquiry i
JOIN pg_report r ON i.id = r.inquiryid
GROUP BY
i.username, i.bank_name;
```
这个查询语句使用了JOIN关键字将pg_inquiry表和pg_report表连接起来,连接条件是pg_inquiry的id与pg_report的inquiryid相等。然后,使用COUNT函数对pg_report的id进行计数,作为列名report_count。最后,使用GROUP BY对username和bank_name进行分组,以实现按照username和bank_name统计report的数量。
请确保表pg_inquiry和pg_report在数据库中已经创建,并且存在相应的字段。如果实际情况有所不同,请相应地调整查询语句和表结构。
mysql用sql统计pg_report表包含id,finish_time,inquiry_id与pg_inquiry的id相关联,pg_inquiry包含bank_name字段 ,统计上周按银行名统计id数量
可以使用如下 SQL 语句来实现:
```
SELECT pg_inquiry.bank_name, COUNT(pg_report.id) AS id_count
FROM pg_report
JOIN pg_inquiry ON pg_report.inquiry_id = pg_inquiry.id
WHERE YEARWEEK(pg_report.finish_time) = YEARWEEK(NOW()) - 1
GROUP BY pg_inquiry.bank_name
ORDER BY id_count DESC;
```
解释一下上面的 SQL 语句:
- 首先使用 JOIN 将 pg_report 表和 pg_inquiry 表连接起来,连接条件是 pg_report 表中的 inquiry_id 字段等于 pg_inquiry 表中的 id 字段,这样就将这两个表相关联起来了。
- 然后使用 WHERE 子句来过滤出上周的数据,这里使用 YEARWEEK 函数来获取当前日期所在的年份和周数,然后减去 1,就得到了上周的年份和周数。然后再使用 YEARWEEK 函数来获取每条记录的年份和周数,如果两者相同,就说明这条记录是上周的数据,满足条件。
- 接着使用 GROUP BY 子句按照银行名进行分组,然后使用 COUNT 函数统计每个银行名对应的 id 数量。
- 最后使用 ORDER BY 子句按照 id 数量降序排序,这样就可以将银行名按照 id 数量从多到少排列了。