使用函数牛
中医丰胸 2021年09月06日 浏览:5 次
如果不能创建辅助表,那么使用表表达式并生成连续数会比较容易,像这样: SELECT ITEM_NAME, PRICE_PER_ITEM FROM SALE_ITEM JOIN (SELECT ROW_NUMBER() OVER() AS NUM FROM BLES) AS NUMBER_SEQON NUMBER_M = SALE_EM_QUANTITYORDER BY PRICE_PER_ITEM DESC
结果完全一样,不过性能上慢了一点。
如何使用日历表简化查询
我从 [article on Pivot Tables] 中摘出了这个例子。首先,让我们创建一个表,并插入一些数据:
CREATE TABLE BUSINESS_TRIP(EMPLOYEE_ID INT NOT NULL, DATE_FROM DATE NOT NULL, DATE_TO DATE NOT NULL);INSERT INTO BUSINESS_TRIP VALUES(1, DATE(\'01/06/2003\'), DATE(\'01/10/2003\')),(1, DATE(\'01/13/2003\'), DATE(\'01/17/2003\')),(1, DATE(\'01/20/2003\'), DATE(\'01/24/2003\')),(1, DATE(\'01/27/2003\'), DATE(\'01/31/2003\')),(2, DATE(\'01/07/2003\'), DATE(\'01/08/2003\')),(3, DATE(\'01/08/2003\'), DATE(\'01/09/2003\'));
假设有一个简单的任务:“选择 2003 年 1 月份没有雇员出差的所有日子”,这时日历表 DATE_SEQ 就很好用了。
其中以阿里、京东、腾讯电商等为主。电商通过频繁的商品实时交易和数据流的积累 SELECT SOME_DATE AS NOBODY_ON_TRIP FROM DATE_SEQWHERE SOME_DATE BETWEEN DATE(\'01/01/2003\') AND DATE(\'01/31/2003\')AND NOT EXISTS(SELECT * FROM BUSINESS_TRIP WHERE SOME_DATE BETWEEN DATE_FROM AND DATE_TO);NOBODY_ON_TRIP -------------- 01/01/2003 01/02/2003 01/03/2003 01/04/2003 01/05/2003 01/11/2003 01/12/2003 01/18/2003 01/19/2003 01/25/2003 01/26/2003 11 record(s) selected.
这个查询非常简单。在[article on Pivot Tables]中讨论了一些肯定是更复杂的替代方案。
假设有一个类似的任务:“选择 2003 年 1 月份有两名以上雇员在出差的所有日子”,同样,这里日历表 DATE_SEQ 也提供了一个非常容易的方法:
SELECT SOME_DATE AS THREE_OR_MORE_ON_TRIP FROM DATE_SEQWHERE SOME_DATE BETWEEN DATE(\'01/01/2003\') AND DATE(\'01/31/2003\')AND (SELECT COUNT(*) FROM BUSINESS_TRIP WHERE SOME_DATE BETWEEN DATE_FROM AND DATE_TO) 2;THREE_OR_MORE_ON_TRIP ------------------- 01/08/2003
同样,如果不能创建辅助表,我们就可以使用表表达式:
SELECT SOME_DATE AS THREE_OR_MORE_ON_TRIP FROM (SELECT DATE(\'01/01/2003\') + ROW_NUMBER() OVER() DAYS AS SOME_DATE FROM BLES) AS DATE_SEQWHERE SOME_DATE BETWEEN DATE(\'01/01/2003\') AND DATE(\'01/31/2003\')AND (SELECT COUNT(*) FROM BUSINESS_TRIP WHERE SOME_DATE BETWEEN DATE_FROM AND DATE_TO) 2;
昆明哪家医院治男科好小孩消化不良怎么调理
成都癫痫病

-
开车族要如何应对便秘问题
2019-07-16
-
痃癖不能食酒方痃癖
2019-07-16
-
清光绪重刊明堂图图
2019-07-15
-
世界中联成立中药天然药物发酵研究专委会
2019-07-13
-
中药材种植基地有待进一步
2019-07-13
-
云南中医药功能性食品孵化平台运营
2019-07-11