oracle语法查询
oracle syntax query
select line_number, times
FROM LINE
JOIN LINE_STOP ON LINE.ID=LINE_STOP.LINE_ID
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
where times =
(select count(*)
from passage
where times between 500 and 620);
我正在尝试计算我有一个数字在 500 到 620 之间的次数并按 line_number 排序。
它给了我一个 table 的好列,但没有价值。
这些是我的 tables:
CREATE TABLE Line (
ID NUMBER(5,0) PRIMARY KEY,
Line_Number NUMBER(3,0) NOT NULL,
Direction VARCHAR2(5) NOT NULL,
Day_Week VARCHAR2(3) NOT NULL,
Stop_ID NUMBER(5,0) CONSTRAINT Line_Stop_FK REFERENCES Stop);
CREATE TABLE Line_Stop (
ID NUMBER(5,0) PRIMARY KEY,
Line_ID NUMBER(5,0) NOT NULL CONSTRAINT Line_Stop_Line_FK REFERENCES Line,
Stop_ID NUMBER(5,0) NOT NULL CONSTRAINT Line_Stop_Stop_FK REFERENCES Stop
);
CREATE TABLE Passage (
ID NUMBER(5,0) PRIMARY KEY,
Line_Stop_ID NUMBER(5,0) NOT NULL CONSTRAINT Passage_Line_Stop_FK REFERENCES Line_Stop,
Hours NUMBER(2,0) NOT NULL,
Minutes NUMBER(2,0) NOT NULL,
Times Number(4,0) NOT NULL
);
这个 过滤 join 的时间介于 500
和 620
之间,然后按 line_number
计算出现的次数
select line_number, count(times)
FROM LINE
JOIN LINE_STOP ON (LINE.ID=LINE_STOP.LINE_ID AND LINE.STOP_ID=LINE_STOP.STOP_ID)
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
where times between 500 and 620
group by line_number
order by line_number;
select line_number, times
FROM LINE
JOIN LINE_STOP ON LINE.ID=LINE_STOP.LINE_ID
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
where times =
(select count(*)
from passage
where times between 500 and 620);
我正在尝试计算我有一个数字在 500 到 620 之间的次数并按 line_number 排序。
它给了我一个 table 的好列,但没有价值。
这些是我的 tables:
CREATE TABLE Line (
ID NUMBER(5,0) PRIMARY KEY,
Line_Number NUMBER(3,0) NOT NULL,
Direction VARCHAR2(5) NOT NULL,
Day_Week VARCHAR2(3) NOT NULL,
Stop_ID NUMBER(5,0) CONSTRAINT Line_Stop_FK REFERENCES Stop);
CREATE TABLE Line_Stop (
ID NUMBER(5,0) PRIMARY KEY,
Line_ID NUMBER(5,0) NOT NULL CONSTRAINT Line_Stop_Line_FK REFERENCES Line,
Stop_ID NUMBER(5,0) NOT NULL CONSTRAINT Line_Stop_Stop_FK REFERENCES Stop
);
CREATE TABLE Passage (
ID NUMBER(5,0) PRIMARY KEY,
Line_Stop_ID NUMBER(5,0) NOT NULL CONSTRAINT Passage_Line_Stop_FK REFERENCES Line_Stop,
Hours NUMBER(2,0) NOT NULL,
Minutes NUMBER(2,0) NOT NULL,
Times Number(4,0) NOT NULL
);
这个 过滤 join 的时间介于 500
和 620
之间,然后按 line_number
计算出现的次数
select line_number, count(times)
FROM LINE
JOIN LINE_STOP ON (LINE.ID=LINE_STOP.LINE_ID AND LINE.STOP_ID=LINE_STOP.STOP_ID)
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID
where times between 500 and 620
group by line_number
order by line_number;