SQL - 根据天来分组比较

SELECT COUNT(*) FROM (SELECT WeixinUserID,CONVERT(varchar(100),CreateTime, 23) AS DT FROM SiteVisitedRecord WHERE ActivitySceneID=199 GROUP BY CONVERT(varchar(100),CreateTime, 23),WeixinUserID) AS A

SQL Convert style的数值匹配,有些是w3school中没有的,这里放一下

有作者可笑痴狂已经编辑了,就懒得再用数据库查了

http://www.cnblogs.com/dongsheng/p/3564592.html

 1 语句及查询结果:
 2 SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
 3 SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
 4 SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
 5 SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
 6 SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
 7 SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
 8 SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
 9 SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
10 SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
11 SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
12 SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
13 SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
14 SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
15 SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
16 SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
17 SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
18 SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
19 SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
20 SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
21 SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
22 SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
23 SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
24 SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
25 SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
26 SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
27 SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
28 SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
29 SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
30 SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
31 SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
32 SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
33 SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
34 SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
35 SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
36 SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
37 SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
38 SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
39 SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49:000

SQL Convert Style数值匹配

关于SQL 中 Convert的介绍

http://www.w3school.com.cn/sql/func_convert.asp

以下W3School链接中的介绍内容

定义和用法

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。

可以使用的 style 值:

Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
时间: 2024-10-28 23:21:20

SQL - 根据天来分组比较的相关文章

SQL Server之 (三) 分组 类型转换函数 插入多条数据 字符串函数

SQL Server之 (三)  分组 类型转换函数  插入多条数据  字符串函数 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.SQL 数据分组----Group by /Having  ①有一学生信息表:StuID/StuName/StuAge/StuGender/StuClassID; 求每个班级的ID和对应人数:select StuClassID 班级ID,count(*) 班级人数  from StuInfo group by StuClassID ; 求所有同学中男女同学对应人

sql 多个字段分组,删除重复记录,保留ID最小的一条

IF OBJECT_ID('cardDetail') IS NOT NULL DROP TABLE cardDetail CREATE TABLE cardDetail ( id INT IDENTITY(1,1) PRIMARY KEY, cardNO VARCHAR(8), NAME VARCHAR(30), idCard VARCHAR(18), cardState CHAR(1)--卡片状态 1正常 2注销 ) INSERT cardDetail(cardNO,NAME,idCard,c

比较经典的SQL行转列+分组集联

这是一个比较经典的行转列.用较少的SQL语句,就可以实现行转列.但是此行转列需要根据业务需要,进行二次开发,根据您的需要进行定制和或重写. 下面就简单聊聊这种形式吧 1.建表脚本 CREATE TABLE [dbo].[Table_1]( [a] [int] NOT NULL,--目标列名 [b] [uniqueidentifier] NOT NULL,--目标数据 [c] [nchar](10) NOT NULL--筛选条件) ON [PRIMARY] GO ALTER TABLE [dbo]

在Sql Server中实现分组排名

比如我们有这样一个表,表名是table1,这个表里面存储了某班同学中考所有的科目成绩, 假设如下: 这时候,老师要求查出每个科目同学的成绩排名,排名函数之前我们用的最多的就是row_number() over()了.但在默认情况下,这个排名函数是不分科目的,也就是不分组的,它会把所有的成绩按照高或低进行排名 select * ,ROW_NUMBER()OVER(ORDER BY [分数] desc) as id from [table1] ORDER BY [课程] 执行得到的查询结果如下: 这

SQL实现group by 分组后组内排序

在一个月黑风高的夜晚,自己无聊学习的SQL的时候,练习,突发奇想的想实现一个功能查询,一张成绩表有如下字段,班级ID,英语成绩,数据成绩,语文成绩如下图 实现 查询出 每个班级英语成绩最高的前两名的记录. 看起来不难的业务,做起来才知道还挺麻烦的,说白了其实就是实现分组后的组内排序,一般不思考的话我们会写出这样的语句: select top 2 English,Classid from CJ group by Classid order by English desc 出现这个错误,应该就明白了

sql server 中判断分组排序的使用示例

现在需要查询一组数据,是对一列字段(column01)的数据分范围查询后分组排序: select (case when [column01] >0 AND [column01]<= 500 THEN 1 when [column01] >500 AND [column01]<= 1000 THEN 2 when [column01] >1000 AND [column01]<= 5000 THEN 3 when [column01] >5000 AND [colu

LINQ系列:LINQ to SQL Group by/Having分组

1. 简单形式 var expr = from p in context.Products group p by p.CategoryID into g select g; foreach (var item in expr) { Console.WriteLine(item.Key); foreach (var p in item) { Console.WriteLine("{0}-{1}", p.ProductID, p.ProductName); } } SELECT [Proj

sql 以某个字段分组,另一个字段为参加比较的列,取得前n项的值

假设表A有三个字段 { id int: subject varchar(20): socre int: } 语句为 select * from A  x where (select count(*) from A where subject=x.subject and score>=x.score   )<=15

sql根据多字段分组并查询每组内top1

1.如下表格,查询2017年Q1季度的从a_country发往其他城市的货量最高的公司,并输出货量总和 id from_country to_country company_name company_count year quarter month                 SELECT * FROM( SELECT sum(company_count) as top_count,company_name FROM testData WHERE `year`='2017' AND `qua