我需要从DB获取详细信息。我的代码有错吗?
SELECT DISTINCT FNAME, LNAME, MEMBERORG, DAYCOUNT, TIMESTAMP, COUNT(FNAME) AS total,(SELECT COUNT(*) FROM REPORT_VIEW_PAGE) AS tot
FROM REPORT_VIEW_PAGE
WHERE ID = '68' AND TYPE = 'node'
GROUP BY FNAME, LNAME, MEMBERORG, DAYCOUNT, TIMESTAMP
ORDER BY TITLE ASC
这给了我一个错误:
ORA-01791: not a SELECTed expression
01791. 00000 - "not a SELECTed expression"
*Cause:
*Action:
Error at Line: 6 Column: 10
3条答案
按热度按时间xtfmy6hx1#
这里的问题是在
DISTINCT
查询中没有选择ORDER BY
列TITLE
。由于使用了DISTINCT
,因此SELECT
查询将尝试根据所选列对resultset
进行分组。ORDER BY
列在这里没有被选中,它不能确保resultset
上的唯一性,因此它不能应用ORDER BY
。xpcnnkqh2#
将
title
列添加到SELECT
语句中。在使用DISTINCT
时,SELECT
语句中还必须包含ORDER BY
中的所有列。必须选择
a
和b
列。v8wbuo2f3#