小编Bro*_*wnE的帖子

如何在COUNT聚合中包含"零"/"0"结果?

我刚刚让自己陷入了一些SQL困境.我不认为我能说出这个问题 - 所以让我告诉你.

我有两张桌子,一张叫人,一张叫约会.我试图返回一个人的约会数量(包括他们有零).约会包含的person_id并有person_id每个预约.所以这COUNT(person_id)是一种明智的做法.

查询:

SELECT person_id, COUNT(person_id) AS "number_of_appointments" 
FROM appointment 
GROUP BY person_id;
Run Code Online (Sandbox Code Playgroud)

将正确返回,person_id具有的约会数量.但是,没有退回约会0的人(显然因为他们不在该表中).

调整语句以从person表中获取person_id给出了类似于:

SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
FROM appointment
JOIN person ON person.person_id = appointment.person_id
GROUP BY person.person_id;
Run Code Online (Sandbox Code Playgroud)

然而,这仍然只会返回一个有约会的person_id而不是我想要的那个与0个约会的人一起返回的人!

有什么建议吗?

sql postgresql aggregate-functions

101
推荐指数
5
解决办法
14万
查看次数

将monad绑定到复合材料(Haskell)

美好的一天.我正在寻求对monads的一些澄清,并使用bind(在进入复合材料时.)请.

所以对于这个例子:

--Monadic parts:
readFile :: String -> IO File
putStr :: String -> IO()
-- Non monadic parts
toMatrix :: String -> CustomMatrix
toString :: CustomMatrix -> String
Run Code Online (Sandbox Code Playgroud)

基本上我懒得读取一个文件(readFile)然后生成一个自定义矩阵,将矩阵转换为字符串输出.然后回来.

fileReading :: String -> IO
fileReading file = putStr(toString . toMatrix . readFile file)
Run Code Online (Sandbox Code Playgroud)

这是我开始通过使用bind >>=来创建一个混乱的时候readFile file.有没有办法我可以继续使用复合材料.,绑定和组合而不会造成难以理解的混乱(不是我真正的目标).

一如既往,感谢任何帮助.谢谢大家.

monads haskell bind composite

5
推荐指数
1
解决办法
167
查看次数

Python:存储在列表中的连接和写入(XML.etrees)树

我正在循环一些XML文件并生成我想要以defaultdict(list)类型存储的树.每个循环和下一个找到的子项将存储在字典的单独部分中.

d = defaultdict(list)
counter = 0
for child in root.findall(something):
    tree = ET.ElementTree(something)
    d[int(x)].append(tree)
    counter += 1
Run Code Online (Sandbox Code Playgroud)

因此,对多个文件重复此操作将导致精确索引的结果; 跨越不同解析文件的位置1的一组树,依此类推.问题是,我如何加入所有d,并将树(作为累积树)写入文件?

我可以遍历dict来获取每棵树:

for x in d:
    for y in d[x]:
        print (y)
Run Code Online (Sandbox Code Playgroud)

这给出了我的词典中的完整树木列表.现在,我如何从中生产出一棵大树?

示例输入文件1

示例输入文件2

1和2所需的结果

鉴于这样做有明显的困难,我很高兴接受更一般的答案,这些答案显示我如何从两个或更多文件中获取我正在寻找的结果.

python xml tree elementtree

5
推荐指数
1
解决办法
401
查看次数