举例说明:
SELECT ROW_NUMBER
() OVER ( ORDER BY starttime DESC ) "id",
starttime AS "text",
starttime
FROM
warning_products
WHERE
pid_model = '结果'
AND starttime IS NOT NULL
GROUP BY
starttime
在这一段代码中:
-
查询语句就不说了, select …from…where
-
GROUP BY的作用:
这一段代码执行的结果是:
如果将GROUP BY删除,那么执行结果为:
可以看到查询出了两个相同starttime数据.
由此得出:
GROUP BY的作用是分类汇总.也就是说,查询结果中,starttime每一种查询结果只有一个 -
GROUP BY的作用:
如果将DESC换成() OVER ( ORDER BY starttime ASC ) "id",
则运行结果为:
相比可以发现,ORDER BY的作用为进行排序.
按照某种要求进行固定的排序 -
ROW_NUMBER () OVER() “id”
先来看一下,如果把这一段删掉,运行结果:
加上呢?
明显的对比,我们为最终的查询结果增加了一列自增的id序列(这里id可以改名,"id"改为其他的即可)