sqlserver-sql 怎实现查询数据表内出现最多次数的数据

问题描述

sql 怎实现查询数据表内出现最多次数的数据

我这里有个停车的信息表tb_Parkinginformati ,里面有addtime这个字段,我想查出,在某个时间段内(2015/6/1-2015/7/1),车辆入场最多的一个日期 我要怎么写,求解答,实在找不到了 急。

使用的是sqlserver数据库

解决方案

select max(CIID) from tb_Parkinginformati where addtime >= 2015/6/1 and addtime <= 2015/7/1

解决方案二:

1、把addtime转换成2015/6/1格式数据,不要时分秒,convert函数
2、对addtime进行分组,group by 函数
3、按照count(addtime)进行排序即可

解决方案三:

select addtime, count(*) from xxx wehre xxxxx group by addtime
count最多的那条addtime就是

解决方案四:

 select top 1 MAX(m) m,tb1code from(
select  sum(CIID) m,addtime from tb_Parkinginformati where CONVERT(varchar(100),addtime, 23)>='2015-06-01'
and CONVERT(varchar(100),addtime, 23)>='2015-07-01' group by addtime
) a group by tb1code order by m desc

解决方案五:

2楼的思路很对,先去掉addtime的时分秒,可以用时间函数转换,也可以把时间转成字符串,然后再排序就行了。

解决方案六:

将日期转化为日期字符串,然后通过group by 日期字符串

解决方案七:

select top 1 CONVERT(varchar(100),addtime, 102) ,count(addtime) as counttime from tb_Parkinginformati where ciid between (select min(ciid) from tb_Parkinginformati where CONVERT(varchar(100),addtime, 102)='2016/06/01') and(select min(ciid) from tb_Parkinginformati where CONVERT(varchar(100),addtime, 102)='2016/07/01') group by CONVERT(varchar(100),addtime, 102) order by counttime desc

解决方案八:

select Convert(varchar(10),AddTime,120),count(*)
from tb_Parkinginformati
where Convert(varchar(10),AddTime,120) between '2015-06-01' and '2015-07-01'
group by Convert(varchar(10),AddTime,120)
order by count(*) desc

解决方案九:

能给个建表SQL吗?

时间: 2024-11-03 12:19:50

sqlserver-sql 怎实现查询数据表内出现最多次数的数据的相关文章

select-如何在vb2015中将sql语句本身作为文本存入mdb数据表内?

问题描述 如何在vb2015中将sql语句本身作为文本存入mdb数据表内? 在对MDB数据表进行新增或修改数据行后把当时的commandtext作为文本保存到特定数据表内: cmd1.CommandText = ""insert into dataupdate (rqckcommandtext) values ('"" & rq & ""''"" & ck & ""''&qu

简单有用的SQL脚本 (行列互转,查询一个表内相同纪录等)_mssql2005

行列互转 复制代码 代码如下: create table test(id int,name varchar(20),quarter int,profile int) insert into test values(1,'a',1,1000) insert into test values(1,'a',2,2000) insert into test values(1,'a',3,4000) insert into test values(1,'a',4,5000) insert into tes

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题:消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Dis

oracle-Oracle查询一定时间段内每一段时间数据问题

问题描述 Oracle查询一定时间段内每一段时间数据问题 我有这样一张业务表,表结构如下 (ID) 住宿时间 押金金额 退宿时间 住宿费用 00000001 2009-09-21 50 2009-09-28 30 00000001 2009-09-25 50 2009-09-27 30 00000002 2009-09-25 80 2009-09-28 50 00000003 2009-09-28 90 2009-09-30 40 ........ .. .......... .. ......

Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢

问题描述 Oracle查询一个表中的几万条数据,不用or,优化的方法还有什么呢 如:name numbers a 22 b 33 c 44 d 55 . . . 查询a.b.d的详细信息,不用or in之类的 解决方案 用 EXISTS ........

vc++-VC下SQL语句读取数据表中第n个记录数据

问题描述 VC下SQL语句读取数据表中第n个记录数据 select 列名 from 表单 语句取出的是一整列,现在想取出这一例的第n个数据,不知道如何读出 不使用 select 列名 from 表单 where 列名 = 对应值 解决方案 举个例子: select * from(select row_number() over(order by id desc) rowid,name from test) t where t.rowid = 10 --取第10条记录 解决方案二: select

上百个用户每隔10秒去查询一次数据表(一般就几条数据),服务器撑的住么?

问题描述 上百个用户每隔10秒去查询一次数据表(一般就几条数据),服务器撑的住么? 解决方案 完全可以,数据库有查询缓存的,经常查询的数据直接命中缓存解决方案二:先要做到代码没有漏洞,就是说例如用jdbc访问数据库,每次做到打开和关闭都匹配,......再做到服务器性能支持,就没问题了.解决方案三:完全没问题解决方案四:完全无压力,除非程序有问题,或者你的查询一次的性能很差解决方案五:得看是什么样的服务器.数据库是单独一台服务器还是虚拟主机还是什么.100并发访问的话,最好配连接池.注意应用中的

sql server-SQL SERVER 统计24小时内每小时添加的数据

问题描述 SQL SERVER 统计24小时内每小时添加的数据 如何统计24小时内,每小时发布的条数? 想得到如下结果: number value 0 0 1 1 2 1 3 0 4 0 5 0 6 0 7 0 8 0 9 1 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 解决方案 select sv.number, sum(case when t.time IS NOT NULL THEN 1 ELS

数据表每天五千四百万数据,,如何汇总

问题描述 数据表table1每天五千四百万数据,十张分表(或者五十张分表),目前还未确定分表数,数据量是确定了,根据表中四个字段(c1,c2,c3,c4)汇总,四个字段相同就可合为一条,累加金额.目前的处理方式是使用java,不考虑存储过程(公司限制,分表太多,存储过程不利于维护)方案一,在内存中计算判断,累加,在内存中保存汇总结果,因为数据量太大,不是很合适.方案二,批量取出(如五千条),一批批汇总,将结果插入临时表中.再进行汇总.方案三,将四个字段的某个字段作为分表维度,这样子的结果就是,每