小编use*_*845的帖子

MySQL - 如果在另一个表上匹配,则从一个表中排除所有行

很抱歉这个非常模糊的问题,但我的问题是我有三个不同的表。一张包含用户信息的表,一张用于用户发帖,一张用于用户喜欢。我想从包含用户数据和帖子的表中选择数据,但只返回用户不喜欢的帖子,而不是用户自己发布的帖子。我尝试使用不同的组合JOINS但没有成功。

例如,我想为 id = 1 的用户选择行。

Table users:
+----+----------+
| id | username |
+----+----------+
|  1 |        A |
|  2 |        B |
|  3 |        C | 
+----+----------+

Table posts:
+----+---------+
| id | user_id |
+----+---------+
|  1 |       1 |
|  2 |       1 |
|  3 |       2 | 
|  4 |       3 | 
|  5 |       2 | 
|  6 |       3 | 
+----+---------+

Table likes:
+----+---------+---------+
| id | post_id …
Run Code Online (Sandbox Code Playgroud)

mysql sql

7
推荐指数
2
解决办法
8613
查看次数

Python 2.7中迭代函数的递归函数如何?

我在python 2.7中编写了一个函数来计算给定数字的数字和:

def dig_sum(n):
    s = 0
    while n:
         s = s + n % 10
         n = n/10
    return s
Run Code Online (Sandbox Code Playgroud)

现在尝试将其重写为递归函数:

def dig_sum(n):
    s = 0
    if n != 0:
        s = n % 10
        s += s
        return dig_sum(n/10)
    return s
Run Code Online (Sandbox Code Playgroud)

我的递归函数有什么问题?做这些功能时最佳做法是什么?提前致谢!

python recursion python-2.7

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

为什么这个递归函数会像这样工作?

我正在尝试学习递归,并编写了一个函数,它接受一个数字并将其计数到零,然后再次将其计数到原始数字,该函数有效,但我不明白为什么它的工作方式与它一样.我解释了为什么在else语句后打印的第一个打印:"5 4 3 2 1"然后数字为0并且if语句打印:"0".在这种情况之后,我不明白,因为现在函数在else语句之后进入第二个打印并打印:"1 2 3 4 5"这对我来说很奇怪.如果有人能向我解释,我真的很感激.

<?php
function rec_downandup($num){
    if($num == 0){
        print '0 ';
    }else{
        print $num.' ';
        rec_downandup($num-1);
        print $num.' ';
    }
}
rec_downandup(5);
?>
Run Code Online (Sandbox Code Playgroud)

产量

5 4 3 2 1 0 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)

php algorithm recursion computer-science

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

标签 统计

recursion ×2

algorithm ×1

computer-science ×1

mysql ×1

php ×1

python ×1

python-2.7 ×1

sql ×1