我想在数据库中的一个表中查询出全部数据 并且按照一个分组和排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在数据库中的一个表中查询出全部数据 并且按照一个分组和排序相关的知识,希望对你有一定的参考价值。
select分组列1,分组列2...,
聚合列1,聚合列2...
from 表
group by 分组列1,分组列2...
order by 分组列或聚合列
--------
分组查询中,做为查询结果显示的列,必须是用于分组的列,或者聚合的列.
比如:sum(),count(),avg()等等.追问
我直接order 字段1 ,字段2
追答直接order?任何查询都可以order,这个和你问的问题有什么关系?
追问哦 我只是说了我的解决办法......呵呵 你给我的这个我没看懂....呵呵 我给你一个错误的 查询你就能知道我的意思了吧 select * from emp group by empno order by sal,这个肯定 是错的 怎么改是对的呢。。。。。谢谢
追答回答里以经说过使用group by 的原则了.
只能查询用于分组的列,和聚合的列,其他列不可能被查询,所以绝对不能是
select * 你使用星号的所有列查询当然是错的.
你要查empno,sal,分组只有empno,那么order by 就不可以sal排序.
select empno,sum(sal)as 'sumsal' from emp group by empno order by sum(sal)
你只能这么写才对.
再重申一次,使用group by 以后,可以供你操作的列,要么是用于分组的列,要么是聚合的列.
order by 字段1,字段2.
参考技术B 表结构给出来啊以上是关于我想在数据库中的一个表中查询出全部数据 并且按照一个分组和排序的主要内容,如果未能解决你的问题,请参考以下文章
我想在mysql数据库中查询news表中的信息按type类型去查询同时还要分页,这个怎么
Laravel:如何查询包含json数据的表中的列并仅返回查询匹配的对象
如何在sqlite数据库表中查询到含有换行的记录的全部信息,按照一般的方法只能查询到换行前的内容,后面无