如何查询MySQL数据库以确定用户是否已连续登录30天或100天?同样也适用于其他用户操作。
假设如下所示的DB表,为当天活动的每个用户每天创建一条记录。
我如何查询SELECT * WHERE user_id = 1 AND action = login,并找出是否有30天或100天的登录,其中的日子是连续的,没有休息日在其中?
用户统计表
id
user_id
dateTime
action (login, made post, up voted, down votes, made comment, etc...)
table:
name date object
james 25/04/2017 bycicle
insert into statisticstable
select * from table;
我想写一个函数,只有当名称和日期还没有在统计表中时,才更新表统计数据。如果统计表中有名称和日期,则不更新表统计,否则,如果统计表中没有名称和日期,则更新表统计。
如下所示:
CREATE FUNCTION update_table()
DECLARE
name = &name
date = &date
if &name and &date are
我正在使用下面的Sql查询:
$query = mysql_query("SELECT * FROM `venues`
LEFT JOIN `follows` USING (venue_id)
LEFT JOIN `stats` USING (venue_id, user_id)
WHERE follows.user_id = $userid");
问题是它没有在统计表中显示一些字段。
因此,我认为问题可能出在(可能是错误的),我需要选择该表的所有字段?
如果是这样的话,有没有办法告诉它选择3个表的字段?
例如:
SELECT * FROM `venues`, SELECT
我有统计表。stat_date,视图(计数器),数量(十进制)
我想把字段和集合相乘。它在MySQL中是这样工作的。
从统计数据中选择SUM(视图* amount);
但不在卡桑德拉身上工作。它有函数或udf吗?
谢谢。
我为这个问题创建了udf函数。所以这个很好用。
CREATE OR REPLACE FUNCTION multiplication(input1 counter, input2 double)
CALLED ON NULL INPUT RETURNS double
LANGUAGE java AS 'return input1 * input2;';
所有行之
我有一个带有字段id(int)和timestamp(timestamp)的统计表。
SELECT id FROM stats GROUP BY id ORDER BY count(id) DESC LIMIT 10;
给了我前十个身份。
我想把这些id放到另一个‘流行’表中。
Popular有id(int)、position(int)和timestamp(timestamp)字段。
总而言之,我想创建一个查询,它将使用在统计表中找到的“前10个”id更新受欢迎的表。
晚上,
我正在经历一个漫长的过程,将数据从一种已有15年历史的只读数据格式导入到MySQL中,以便从中构建一些较小的统计表。
我以前构建的最大的表有(我想)3200万行,但我没想到它会变得这么大,这真的让MySQL很紧张。
表格将如下所示:
surname name year rel bco bplace rco rplace
Jones David 1812 head Lond Soho Shop Shewsbury
所以,小int和varchars。
有没有人能给出一个建议,让它尽可能快的工作?任何coul
mysql数据库中的数据如下所示,并在WPF中的Datagrid中显示结果 ---------------------------
class student_ID birthday
A 1 2000/1/1
A 5 2001/4/1
B 2 2000/1/12
C 3 2001/8/5
. . .
. . .
Z 1000 2000/12/2
---------------------------
我正在尝试为MySQL计算出一条SQL语句。我有一系列服务器的统计数据,每半小时报告一次。我有一个包含类似下面的列的统计表:
server varchar(64),
time datetime,
bytesIn int,
bytesOut int
现在,我想生成一系列报告,在1小时或1天内整理所有服务器上的所有bytesIn和bytesOut。即。我知道我需要SUM(bytesIn)作为bytesIn,SUM(bytesOut)作为bytesOut,但是我不知道如何将所有时间“打包”到每小时/每天的存储桶中,并返回那些“打包”的时间。也就是说,返回的数据应该如下所示:
Time,bytesI
在我的MySQL库中,使用engine=innodb和一个分区的文件,我有:
表1按日期划分
表2,按日期统计表1的条目
表1由软件填充,表2由表1中的触发器填充,如下所示:
CREATE TRIGGER tgi_table1 AFTER INSERT ON table1 FOR EACH ROW INSERT INTO table2 values ( NEW.date, 1 ) ON DUPLICATE KEY UPDATE count = count+1;
CREATE TRIGGER tgd_table1 AFTER DELETE ON table1 FOR EACH R
我有一个MySQL触发器,用于根据正在运行的更新查询将小时数更新到统计表中。
触发器是:
DELIMITER //
CREATE TRIGGER update_stats AFTER UPDATE ON user_hours
FOR EACH ROW
BEGIN
IF NEW.hours_committed = 'completed' THEN
INSERT INTO hours_statistics (user_id, opportunity_id, completed_hours) VALUES
(OLD.user_id, OLD.o