无法弄清楚我们如何以任何顺序计算具有相同值的所有行。例如在此示例
1| Jay | Jo
2| Jay | Jo
3| Jay | Jo
4| Jo | Jay
5| Linda | Luke
6| Linda | Luke
7| Luke | Linda
8| Luke | Wendy
我正在寻找以下输出:
Jay | Jo | 4
Linda | Luke | 3
Luke | Wendy | 1
我被杀了两天。一切都不起作用。 加入会导致人数过多,工会也无法正常工作。因为它们会保留两个命令的条目,所以我知道我可能需要进行某种自连接,并考虑同一张表的两个副本。但是我不知道该执行什么操作! 真的很困惑!请帮忙!
如果可能的话,我希望在SQL Lite中给出答案,但是可能任何语法都可以。我只需要了解如何组成表格的逻辑即可。
谢谢
答案 0 :(得分:3)
只需一点逻辑开关就可以解决问题
示例
FROM python:3.6
ENV PYTHONUNBUFFERED 1
ENV C_FORCE_ROOT true
RUN mkdir /djangoPrj
RUN mkdir /static_cdn
WORKDIR /djangoPrj
ADD ./djangoPrj /djangoPrj
RUN apt-get upgrade
RUN apt-get update
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
返回
Select Col1
,Col2
,count(*) as Hits
From (
Select case when col1<Col2 then Col1 else Col2 end as Col1
,case when col1<Col2 then Col2 else Col1 end as Col2
from YourTable
) A
Group By Col1,Col2
答案 1 :(得分:2)
SQLite中更简单的方法是使用least
和greatest
。
select least(col1,col2),greatest(col1,col2),count(*)
from tbl
group by least(col1,col2),greatest(col1,col2)