progresql数据表中有字段 rule_id,severity,result_id,severity严重级别的值有3种,分别是1,2,3,需要统计每种severity级别情况下按照rule_id分组后记录数最多的top5个 rule_id对应的数据
时间: 2024-04-12 15:31:09 浏览: 56
要实现按severity级别统计,并在每个级别下按rule_id分组后找到记录数最多的top5个rule_id对应的数据,可以使用以下SQL查询语句:
```sql
SELECT severity, rule_id, COUNT(*) AS record_count
FROM your_table
GROUP BY severity, rule_id
HAVING COUNT(*) > 0
ORDER BY severity, record_count DESC
LIMIT 5;
```
请将上述查询语句中的 `your_table` 替换为你实际使用的数据表名称。执行该查询将返回每种severity级别情况下按rule_id分组后记录数最多的top5个rule_id对应的数据。结果将按照severity级别和record_count降序排列。
相关问题
clinic_screenresult表中有三个字段,分别taskid,modulename,sendtime。 1、用taskid字段去重查询总数,标记为处方总数 2、当taskid相同且modulename都为空时,去重计算总数,标记为不适宜处方数 3、用不适宜处方数除以处方总数,标记为不适宜处方率 根据以上条件,用SQL语句表达,并能在progreSQL中执行
以下是SQL语句表达:
```
-- 计算处方总数
SELECT COUNT(DISTINCT taskid) AS "处方总数"
FROM clinic_screenresult;
-- 计算不适宜处方数
SELECT COUNT(DISTINCT taskid) AS "不适宜处方数"
FROM clinic_screenresult
WHERE modulename IS NULL;
-- 计算不适宜处方率
SELECT COUNT(DISTINCT taskid)::float / (SELECT COUNT(DISTINCT taskid) FROM clinic_screenresult) AS "不适宜处方率"
FROM clinic_screenresult
WHERE modulename IS NULL;
```
注意:上述SQL语句中的 `clinic_screenresult` 应该替换为实际的表名。
druid连接progresql
下面是在Spring Boot项目中使用Druid连接PostgreSQL的配置示例:
1. 添加Maven依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.8</version>
</dependency>
```
2. 在application.properties文件中配置Druid和PostgreSQL的连接信息:
```properties
# 数据源配置
spring.datasource.url=jdbc:postgresql://localhost:5432/db_name
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=org.postgresql.Driver
# Druid配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=5
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-on-return=false
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.validation-query=SELECT 1 FROM DUAL
```
3. 在配置类中添加Druid的DataSource:
```java
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "spring.datasource.druid")
public DataSource druidDataSource() {
return new DruidDataSource();
}
}
```
4. 在需要使用数据库的类中注入DataSource:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private DataSource dataSource;
// ...
}
```
阅读全文