mysql,一表中(user)的时间字段(time),如果超过三十天未更新,就自动将另一个is_use字段更新为1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql,一表中(user)的时间字段(time),如果超过三十天未更新,就自动将另一个is_use字段更新为1相关的知识,希望对你有一定的参考价值。

这个要怎么做,存储过程吗?mysql比较菜,没有研究过,麻烦大牛们帮一把,在这谢谢了!

insert into t2 (id,old,up,new,qq,time) select id ,gold,1 ,gold+1,qq,sysdate() from t1 where qq in (qq1,qq2,qq3); 参考技术A 这个设计到mysql事件

如何在一个表中显示多行,另一表中的一行显示为单行

【中文标题】如何在一个表中显示多行,另一表中的一行显示为单行【英文标题】:How display multiple rows in a table with one row in another table as single row 【发布时间】:2011-12-14 06:16:57 【问题描述】:

我有两张桌子。 表“用户”包含 user_id、user_name 表“事务”包含 user_id、事务

例如:

TABLE USER:
user_id, user_name
1, Ram
2, John
3, Rahim

TABLE Transactions
user_id, transactions
1,  500
1, 300
2, 250
1, 450
3, 100
1, 250
3, 50

我想将结果显示为:

user_name, Total
Ram, 1500*
John, 250
Rahim, 150
它是该特定用户的所有交易的总和

我该怎么做?

【问题讨论】:

我的问题有误。我的结果应该是:user_id,Total。 (不是用户名,总计)抱歉给您造成了困扰。 帖子已编辑。无论如何,我认为你得到了正确的答案。 再次抱歉。在重写我的评论之前,我只是按了“回车”键。我需要用户名,总计(例如:Ram,1500)。请忽略我最后的评论。再次为我的错误道歉 好吧,所以创世纪的答案是正确的。 非常感谢! ***.com 摇滚 【参考方案1】:
SELECT 
    u.user_name, 
    SUM(t.transactions) Total
FROM users u
LEFT JOIN transactions t ON t.user_id = u.user_id
GROUP BY t.user_id

我认为你应该使用 LEFT JOIN 因为它应该在任何情况下选择用户的总数(NULL),即使它是 0

【讨论】:

如果用户想要的所有数据都在同一个表中,为什么还需要连接? 似乎是这样,但正如您所看到的,在他的示例中,他输入的是 user_id 而不是 user_name。我也很困惑。 @Aur 是的,如果他想要 user_id,你的回答很好。我们会看到 谢谢。我问是因为你的回答很好,是我在意识到这个例子之前的第一个想法。 我知道如何显示单个表中的字段。但是我错误地写了我的问题。我需要用户名,总计(例如:Ram,1500)。【参考方案2】:
SELECT u.user_id , SUM(t.transactions) AS total
FROM user AS u JOIN transactions AS t
GROUP BY u.user_id

【讨论】:

【参考方案3】:

试试

SELECT
    u.user_id,
    sum(t.transactions) as total
FROM
    user u
    JOIN transactions t ON u.user_id = t.user_id
GROUP BY
    u.user_id

【讨论】:

以上是关于mysql,一表中(user)的时间字段(time),如果超过三十天未更新,就自动将另一个is_use字段更新为1的主要内容,如果未能解决你的问题,请参考以下文章

如何在一个表中显示多行,另一表中的一行显示为单行

SQL某一表中重复某一字段重复记录查询与处理

用sql语句怎么查一个表的信息

将数据库中的某一表中的某一列或者多列添加到另一张表的某一列中——猎八哥FLY

如何将两个同样的MYSQL数据库表合并。表一表二的表结构是一样只是内容一个表多了些并且有部分字段修改过

将一个表中的值与另一表中具有相同属性的值的平均值计算进行比较