我有两张桌子。一个是“探针”,另一个是“成绩单”。
探针表:“探测”
ProbeID ------- ---- TranscriptID
2655 4555555
2600 5454542
2600 4543234
2344 5659595
...等
成绩单表:“成绩单”
TranscriptID ---- ----位置
7896736 chr1
5454542 chr1
...等
我需要找出每条染色体有多少个转录本?每条染色体有多少个探针?
SELECT COUNT(*)
FROM transcript
='28869'#Above我认为给我每条染色体的转录本(即位置)。
我需要帮助回答第二部分(首先,如果错误的话)。我假设我需要使用JOIN
子句。
谢谢。
答案 0 :(得分:0)
每个染色体的探测次数
SELECT Location, COUNT(ProbeID) AS ProbeCnt
FROM transcript T
JOIN probe P ON P.TransciprtID = T.TranscriptID
GROUP BY Location
-- optionally you can ORDER BY to either get
-- ORDER BY COUNT(ProbID) DESC -- list in descending order of nb of probes
-- ORDER BY Location -- list in order of chromosome name
关于您的第一个查询,这是不正确的。得到
每条染色体的转录本数,您需要
SELECT Location, COUNT(TranscriptID) as TransCnt
FROM transcript
GROUP BY Location
您当前的查询提供整个转录表的转录本总数,无论染色体如何。
答案 1 :(得分:0)
成绩单计数
select location, count(location) AS transacripts_num
from transcript GROUP by location;
探测计数
select location, count(location) AS probe_num
from transcript t join probe p
ON t.transcriptId= p.probeId
GROUP by location;