首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

分组后排序,该如何解决

2012-01-05 
分组后排序表如下(TableA)pack_namenode_indexA2C1B1C3C2D1A1希望先按照pack_name分组后,在每组里按照node

分组后排序
表如下(TableA)
  pack_name     node_index
      A                       2
      C                       1
      B                       1
      C                       3
      C                       2
      D                       1
      A                       1

希望先按照   pack_name   分组后,在每组里按照node_index排序.怎么写啊。
我写的好象不可以.
select   Pack_name   ,node_index   from   TableA   group   by   Pack_name   order   by   node_index     ??

[解决办法]
select Pack_name ,node_index
-- group by Pack_name , 故 node_index 只能保留一个, 这里必须对 node_index 用聚合
from TableA
group by Pack_name
order by node_index
-- group by Pack_name , 故 node_index 只能保留一个, 这里必须对 node_index 用聚合

[解决办法]
希望先按照 pack_name 分组后,在每组里按照node_index排序.怎么写啊。
我写的好象不可以.
select Pack_name ,node_index from TableA group by Pack_name order by node_index ??

------------
group by 是和聚集函数同時使用的,不知LZ是要按pack_name 分組取最大值,最小值,統計個數
還是求和,按照node_index排序,都可以這樣寫

select pack_name,sum(node_index)as node_index from t group by pack_name order by sum(node_index)

select pack_name,count(*)as node_index from t group by pack_name order by count(*)


select pack_name,max(node_index)as node_index from t group by pack_name order by max(node_index)

select pack_name,min(node_index)as node_index from t group by pack_name order by min(node_index)

热点排行