Oracle 写SQL ,查询名为 "doc_integral_record" 的表中,用户 "刘起" 的积分总和,并按照积分总和的大小进行降序排列。
时间: 2023-07-19 17:34:46 浏览: 32
你好!针对你的问题,可以使用以下 SQL 语句来查询:
```
SELECT user_name, SUM(integral) AS total_integral
FROM doc_integral_record
WHERE user_name = '刘起'
GROUP BY user_name
ORDER BY total_integral DESC;
```
这条 SQL 语句会在 `doc_integral_record` 表中查询用户为 "刘起" 的积分总和,并按照积分总和的大小进行降序排列。其中 `SUM(integral)` 表示对 `integral` 列求和,`GROUP BY user_name` 表示按照 `user_name` 列进行分组,`ORDER BY total_integral DESC` 表示按照 `total_integral` 列进行降序排列。
相关问题
SELECT rownum, t.* FROM ( SELECT SUM( integral ) integral, user_id userId FROM doc_integral_record WHERE integral_state = '1' GROUP BY integral,user_id ORDER BY SUM( integral ) DESC ) t WHERE t.userId = '刘起'
这是一个 SQL 查询语句,目的是查询名为 "doc_integral_record" 的表中,用户 "刘起" 的积分总和,并按照积分总和的大小进行降序排列。具体的查询方法是先把积分按照用户进行分组,再对每个用户的积分总和进行求和,并按照积分总和进行排序,最后筛选出用户 "刘起" 的积分总和。其中,"rownum" 是 Oracle 数据库特有的伪列,用于对查询结果进行行号排序。
帮我写一个关于monogoDB中的sc_item_score表根据 userId和integral进行分组的 查询
可以使用MongoDB的聚合框架来实现根据userId和integral进行分组的查询,具体实现可以参考以下代码:
```javascript
db.sc_item_score.aggregate([
{
$group : {
_id : { userId: "$userId", integral: "$integral" },
count: { $sum: 1 }
}
}
])
```
以上代码中,`$group`操作符用于根据指定的字段进行分组,`_id`字段指定分组的依据,`$sum`操作符用于计算每个分组内的文档数量。对于该查询,它会根据`userId`和`integral`字段进行分组,并统计每个分组内的文档数量。
如果需要查询特定的分组,则可以在`_id`字段中添加查询条件,例如:
```javascript
db.sc_item_score.aggregate([
{
$match: { userId: "123" }
},
{
$group : {
_id : { userId: "$userId", integral: "$integral" },
count: { $sum: 1 }
}
}
])
```
以上代码会先使用`$match`操作符对`userId`字段进行过滤,然后再根据`userId`和`integral`字段进行分组。