不是2个,四那两个字段组合起来是一个primary keyselect max(温度),城市
from 表
group by 城市

解决方案 »

  1.   

    如果查每个城市每天的select max(温度),城市,convert(varchar(10),日期,120) 
    from 表 
    group by 城市,convert(varchar(10),日期,120) 
      

  2.   

    为什么会有两个primary key呢?
    ------------
    联合主键
      

  3.   

    我也是和你想的一样的,但是我总感觉他说可以用子查询做,总感觉不会这么简单再请问一下如何把两个字段组合起来做为一个primary key???
      

  4.   


    在表设计界面按住CTRL键选定多个列,然后点击设置主键按钮.
      

  5.   

    if object_id('tb')is not null drop table tb
    go
    create table tb(ID int ,Name varchar(10) primary key(ID,[Name]))
    insert tb select 1,'A'
    insert tb select 1,'B'
    select * from tb
    insert tb select 1,'A'
    /*ID          Name       
    ----------- ---------- 
    1           A
    1           B伺服器: 訊息 2627,層級 14,狀態 1,行 1
    PRIMARY KEY 違反條件約束 'PK__tb__38453051'。無法在物件 'tb' 上插入重複索引鍵。
    陳述式已經結束。
    */
      

  6.   

    请问一下,你这句上下两个convert(varchar(10),日期,120)分别代表什么意思呢?还有就是 120在ODBC 规范 yyyy-mm-dd hh:mm:ss 不是都到了hh:mm:ss,如果是要每天的话,那不是应该用101之类的呢?
      

  7.   

    convert(varchar(10),日期,120) 按120格式转换为字串
    20 或 120 (*)  ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff] 取前10位,即为 yyyy-mm-dd
      

  8.   

    CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型
    (datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下:
    0 | 0 or 100 | mon dd yyyy hh:miAM(或PM) 
    1 | 101 | mm/dd/yy 
    2 | 102 | yy-mm-dd 
    3 | 103 | dd/mm/yy 
    4 | 104 | dd-mm-yy 
    5 | 105 | dd-mm-yy
    6 | 106 | dd mon yy
    7 | 107 | mon dd,yy
    8 | 108 | hh:mm:ss 
    9 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
    10 | 110 | mm-dd-yy
    11 | 111 | yy/mm/dd
    12 | 112 | yymmdd
    11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制) 
    14 | 114 | hh:mi:ss:mmm(24小时制)
    15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制)
    16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
    具体例子:
    SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
    SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
    SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
    SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
    SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
    SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
    SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
    SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
    SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
    SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
    SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
    SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
    SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
    SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
    SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
    SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
    SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
    SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
    SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
    SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
    SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
    SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
    SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
    SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
    SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
    SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
    SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
    SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
    SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
    SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
    SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
    SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
    SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
    SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
    SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
    SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
    SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
    SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM