zoukankan      html  css  js  c++  java
  • 一条语句实现查询各类别前10条记录

    2010-04-21 21:08

    表:
    id   name type

    1     a      t1 
    2     b      t2
    3     c      t3

    我想查 各类别的前10条记录 SQL怎么写

    测试如下:

    create table Product
    (
    Id int identity primary key,
    [Name] varchar(20),
    [Type] int not null
    )

    insert into Product values('a',1)
    insert into Product values('b',1)
    insert into Product values('c',1)
    insert into Product values('d',2)
    insert into Product values('e',2)
    insert into Product values('f',2)
    insert into Product values('g',3)
    insert into Product values('h',3)
    insert into Product values('i',3)
    insert into Product values('j',3)

    --//方法1
    select * from (
    select row_number() over(partition by [Type] order by Id) as RowID,
        [Name],Id,[Type]
         from Product
    ) t
    where t.rowid < 3

    --//方法2
    select * from Product as t where 
    id in (select top 2 id from Product where [type]=t.[Type] order by id)

  • 相关阅读:
    最长公共子序列(LCS)
    数组分割问题
    Trie树
    BitMap(比特位)
    KMP算法——字符串匹配
    排序算法
    概率问题
    【设计模式】——访问者模式
    【设计模式】——解释器模式
    【设计模式】——享元模式
  • 原文地址:https://www.cnblogs.com/qingyun163/p/2365597.html
Copyright © 2011-2022 走看看