zoukankan      html  css  js  c++  java
  • 关于SQL操作的一些经验

    1. 有一个规则关于group by的使用

    SELECT PointNum, MAX(InsertTime) AS InsertTime FROM PointData GROUP BY PointNum

      所有的Select的字段,除聚合函数中的字段,都必须在Group by中出现,这个语句可以很好地查询依赖于2个字段限制的信息(一个作为Group by分组,一个作为聚合函数的参数),且查询结果只显示这两个字段,如果想要显示其他字段,如下操作使用LEFT JOIN

    SELECT C.PointNum,C.PointState,C.PointBattery,C.GPSTime,C.GPSWd,C.GPSJd,C.SensorState,B.InsertTime
    FROM (SELECT PointNum, MAX(InsertTime) AS InsertTime FROM PointData GROUP BY PointNum) B
    LEFT JOIN PointData C ON B.InsertTime = C.InsertTime AND B.PointNum = C.PointNum

    2. 查询结果相当于一个表,对于查询结果,可以直接使用  (SELECT ...) B,用B来表示这个查询结果。

    3. AS的使用,AS在字段的重命名、添加新字段等方面用处很大,如

    SELECT PointInfo.PointNum, PointInfo.PointName,'接收' as Direction,MsgLog.MsgContent,MsgLog.InsertTime
    FROM MsgLog LEFT OUTER JOIN PointInfo ON MsgLog.PointNum = PointInfo.PointNum

    可以成功在查询结果添加新的一列Direction,并且这个新列的所有值均为“接收”。  

  • 相关阅读:
    wepy框架构建小程序(1)
    百度地图2
    百度地图1
    VS Code 用户自定义代码片段(React)
    JS MarcoTasks MicroTasks
    JS位运算和遍历
    VueX源码分析(5)
    VueX源码分析(4)
    tensorflow 自带的实现函数翻转的函数
    namedtuple
  • 原文地址:https://www.cnblogs.com/laojie4321/p/2494129.html
Copyright © 2011-2022 走看看