? 每个q_id下出现次数前2位的remark(只取两位)
create table Test(
q_id int,
remark varchar(20)
)
--drop table Test
insert into Test(q_id,remark) values(1,'1');
insert into Test(q_id,remark) values(2,'1');
insert into Test(q_id,remark) values(3,'2');
insert into Test(q_id,remark) values(4,'3');
insert into Test(q_id,remark) values(5,'2');
insert into Test(q_id,remark) values(6,'1');
insert into Test(q_id,remark) values(7,'1');
insert into Test(q_id,remark) values(1,'2');
insert into Test(q_id,remark) values(2,'1');
insert into Test(q_id,remark) values(3,'2');
insert into Test(q_id,remark) values(4,'3');
insert into Test(q_id,remark) values(5,'1');
insert into Test(q_id,remark) values(6,'2');
insert into Test(q_id,remark) values(7,'3');
insert into Test(q_id,remark) values(1,'3');
insert into Test(q_id,remark) values(2,'2');
insert into Test(q_id,remark) values(3,'2');
insert into Test(q_id,remark) values(4,'3');
insert into Test(q_id,remark) values(5,'2');
insert into Test(q_id,remark) values(6,'3');
insert into Test(q_id,remark) values(7,'1');
select t.q_id,t.remark,count(t.remark) as counts
,(select top 1 q_id from Test where q_id=t.q_id)
from Test t
group by t.q_id,t.remark
order by t.q_id
create proc proc_test
as
begin
declare cur cursor scroll dynamic
for
select distinct q_id from Test
declare @qId int
open cur
fetch next from cur into @qId
while(@@fetch_status=0)
begin
select top 2 a.*
from
(select q_id,remark,count(remark) as c
from test where q_id=@qId group by q_id,remark) a
order by a.c desc
fetch next from cur into @qId
end
close cur
deallocate cur
end
go
exec proc_test
--drop proc proc_test
不知道是否能够用一条sql解决
分享到:
相关推荐
根据提供的内容,我们可以了解到STM32F4xx系列微控制器的数据手册中包含了丰富的技术信息,主要涉及以下几个方面的知识点: 1. **参考手册介绍**:该手册是为应用开发人员准备的,提供了使用STM32F405xx/07xx、STM...
驱动程序扮演着连接硬件(如MT65XX芯片)和操作系统的桥梁角色,确保数据能够正确、高效地在两者之间传输。 在安装MT65XX-preloader驱动时,用户需要注意以下几点: 1. **系统兼容性**:由于这是专门为Win7 64位...
在MPC57xx芯片上,UART模块通常具有可配置的波特率、数据位数、停止位和奇偶校验等设置,以适应不同的通信需求。 在MPC57xx_uartservice项目中,开发者需要关注以下几个关键知识点: 1. **波特率配置**:根据实际...
STM32F4xx系列是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M4F内核的32位高性能微控制器。这些微控制器适用于广泛的嵌入式应用,尤其是那些需要强大处理能力和高效能的场合。STM32F4xx家族包括...
为确保STM32F2xx系列微控制器的正确使用,文档中提到了几个重要方面的信息: 1. 内存和总线架构:STM32F2xx系列微控制器采用多层次的总线结构,包括系统总线(I-bus和D-bus)、静态总线(S-bus)、DMA内存总线、DMA...
1. 存储模型:LPC23xx/24xx采用哈佛架构,数据和指令存储空间分离,需要在编程时注意地址空间的分配。 2. 引脚配置:通过初始化函数配置GPIO引脚,实现功能选择和模式设定。 3. 中断处理:中断服务程序(ISR)的编写...
- 确保在发送数据前检查THRE标志,避免数据丢失或溢出。 - 在接收数据时,要处理可能的串口通信错误,如奇偶校验错误或帧错误。 总的来说,LPC11xx系列微控制器的UART发送和接收功能通过精心设计的函数实现,这些...
2. 设置参数:在软件中配置通信参数,如波特率、数据位、停止位、校验位等,确保与单片机配置一致。 3. 选择程序:加载待烧录的HEX或BIN格式的固件文件。 4. 开始编程:点击“编程”按钮,软件会通过串口将程序数据...
XX集团的主数据管理DMD系统规划方案着重于构建一个高效、统一的主数据管理体系,以支持集团内部各个系统的互联互通和信息共享。主数据管理(Master Data Management,MDM)是确保关键业务实体数据准确、一致和可靠的...
UART的基本工作原理包括起始位、数据位(通常8位)、奇偶校验位(可选)、停止位。在硬件层面,开发者需要配置波特率、数据格式、接收和发送FIFO(First In First Out,先进先出)大小等参数。 编写LPC17XX的串口...
CRC计算单元是STM32F4xx系列微控制器中的一个重要特性,它用于生成和验证数据的循环冗余校验码(CRC),这在错误检测和数据完整性校验方面非常有用。CRC模块包括几个主要的寄存器,用于控制CRC计算过程和读取计算...
LPC17xx的UART模块支持多种波特率、数据位、停止位和奇偶校验配置。在示例代码中,你可以找到初始化UART、发送和接收数据的函数,这对于实现设备间的串行通信非常有帮助。 接着是PWM(脉宽调制)模块,常用于控制...
固件函数库是一个包含程序、数据结构和宏的集合,它旨在支持STM32F101xx与STM32F103xx微控制器的所有外设功能。通过这个库,开发者能够轻松地访问和控制微控制器的各种硬件资源,而无需深入了解硬件细节。这样不仅...
在介绍STM32F105XX系列单片机时,可以从以下几个重要知识点来展开: 1. 核心架构:STM32F105XX系列单片机核心为32位ARM Cortex-M3处理器,拥有72MHz的最高工作频率,并且在0等待周期访问存储器时能实现1.25DMips/...
1. **预处理**:在写入前,检查目标扇区是否已被正确擦除,防止因数据覆盖导致错误。 2. **错误处理**:写操作过程中可能出现编程或校验错误,需要设置适当的错误处理机制,例如使用中断服务函数或返回错误码。 3....
在描述中提到了几种常见的异步串行通信接口,包括多通道缓冲串行接口(McBSP)、串行外围接口(SPI)以及通用异步收发传输器(UART)。这些接口是嵌入式系统中常用的数据通信方式,用于设备间的短距离通信。 **详细...
STM32F1xx系列微控制器是意法半导体(STMicroelectronics)生产的一系列32位ARM Cortex-M3微控制器。这一系列微控制器因其高性能、低功耗以及丰富的外设集成而广泛应用于工业控制、医疗设备、消费电子、通信设备等...
FM175XX系列芯片是上海复旦微电子集团股份有限公司推出的一系列非接触通讯芯片,其中FM17550是该系列中的一个型号。FM17550芯片是一种支持多种通讯协议的非接触式通讯芯片,提供RFID和智能卡等多种功能,适用于各类...