我有一个dat <- c(dat, toupper(dat), tolower(dat))
microbenchmark(rcpp=char_ct_unique(dat),
r=r_char_ct_unique(dat),
fr=f_r_char_ct_unique(dat),
times=1000)
## Unit: microseconds
## expr min lq mean median uq max neval
## rcpp 218.299 284.143 331.319 332.281 358.1215 696.907 1000
## r 1266.976 1442.460 1720.320 1494.167 1634.7870 5896.685 1000
## fr 1260.027 1444.298 1769.664 1501.416 1652.8895 78457.729 1000
表,其中包含EMPLOYEE
,EMP_ID
和NAME
。
我想将奇数DEPARTMENT_ID
的所有记录命名为DEPARTMENT_ID
,将ASC
命名为DEPARTMENT_ID
。
可以吗?
谢谢
答案 0 :(得分:4)
您可以在CASE
中使用ORDER BY
,相应地更改符号:
...
ORDER BY CASE WHEN DEPARTMENT_ID % 2 = 0
THEN -DEPARTMENT_ID
ELSE DEPARTMENT_ID END ASC;
答案 1 :(得分:1)
进行两次查询,首先是一次过滤赔率,第二次是第二次。按照您的意愿排序,然后按联盟查询。
SELECT e.* FROM (SELECT *
FROM EMPLOYEE
WHERE MOD(DEPARTMENT_ID, 2) = 1
ORDER BY DEPARTMENT_ID ASC) e
UNION ALL
SELECT e1.* FROM (SELECT *
FROM EMPLOYEE
WHERE MOD(DEPARTMENT_ID, 2) = 0
ORDER BY DEPARTMENT_ID DESC) e1
答案 2 :(得分:1)
试试这个
SELECT *
FROM EMPLOYEE
ORDER BY CASE WHEN DEPARTMENT_ID % 2 = 1 then 1 else 2 end,DEPARTMENT_ID