![](/img/trans.png)
[英]ORACLE select query with order by case ASC and DESC
[英]There is oracle query which is not showing the desired result i.e order by date desc
用於從表中選擇數據的Oracle查詢,但未顯示日期降序。
WITH cte AS
(
SELECT DISTINCT cmoa.adate,
subject,
TYPE,
to_char(cmoa.adate, 'DD/MM/YYYY') awarddate,
(SELECT name
FROM dopprod.cm_awards
WHERE cm_awardsid = cmoa.awards) AS awardname
FROM dopprod.cm_emp_master m
INNER JOIN dopprod.cm_officer_awards cmoa ON m.cm_emp_masterid = cmoa.name
WHERE m.cm_emp_masterid = '" + empcode + "'
)
SELECT row_number() OVER (ORDER BY awarddate) AS sno,
subject,
TYPE,
awarddate,
awardname
FROM dopprod.cte
ORDER BY sno
如果您不這樣說,為什么它會以降序顯示日期? 不是嗎
order by cmoa.adate DESC --> your code is missing DESC
請嘗試以下操作-您需要按以下順序指定desc
WITH cte
AS (SELECT DISTINCT cmoa.adate,
subject,
TYPE,
TO_CHAR (cmoa.adate, 'DD/MM/YYYY') AwardDate,
(SELECT Name
FROM dopprod.cm_awards
WHERE cm_awardsid = cmoa.awards)
AS awardname
FROM dopprod.CM_EMP_MASTER m
INNER JOIN dopprod.cm_officer_awards cmoa
ON m.cm_emp_masterid = cmoa.name
WHERE m.CM_EMP_MASTERID = 'someid')
SELECT ROW_NUMBER () OVER (ORDER BY cmoa.adate DESC) AS sno,
subject,
TYPE,
AwardDate,
awardname
FROM dopprod.cte
ORDER BY cmoa.adate desc
為什么不這樣做呢?
SELECT rownum AS sno,
subject, TYPE, awarddate, awardname
FROM dopprod.cte
ORDER BY adate DESC
如果要按日期值排序,則需要按日期 order by
包括日期列,而不是字符串列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.