oracle SQL -如何在一个列中选择与另一个列共享数据的数据?

t5fffqht  于 11个月前  发布在  Oracle
关注(0)|答案(2)|浏览(115)

我正在通过Toad for Oracle使用关系型Oracle数据库。
我在数据库中有一个这样的表:
| 批号|批号|
| --|--|
| 1000817454 | 1352341501 |
| 1000817455 | 1312341501 |
| 1000817503 | 1322341601 |
| 1000817504 | 1372341601 |
| 1000817535 | 1352341501 |
我想选择共享LOT_ID的LOT_CODES。
因此,在上表中,答案为LOT_CODES 1000817454和1000817535,因为它们都共享LOT_ID 1352341501。
但是我希望Answer能够根据LOT_CODES拥有LOT_ID的数量来计算LOT_ID的示例。
因此,所需的输出(基于我上面的示例表):
| 批号|重复次数共计|
| --|--|
| 1352341501 | 2 |
| 1312341501 | 1 |
| 1322341601 | 1 |
| 1372341601 | 1 |
我该怎么做?

e0bqpujr

e0bqpujr1#

看来你只是要求一个香草聚合

select LOT_ID, Count(LOT_CODE) TOTAL_REPETITIONS
from t
group by LOT_ID;

字符串

vwoqyblh

vwoqyblh2#

一个简单的GROUP BY就可以了。
你最后的结果会更有趣:

SELECT
"LOT_ID" , COUNT(*)
FROM Table1 
GROUP BY "LOT_ID"

字符串
| 批号|中文(简体)|
| --|--|
| 1352341501 | 2 |
| 1312341501 | 1 |
| 1322341601 | 1 |
| 1372341601 | 1 |
fiddle

相关问题