草庐IT

timeStamp

全部标签

datetime - MySQL:过去 24 小时按小时插入的记录

我正在尝试列出过去24小时内每小时插入数据库的记录数。每行显示该小时插入的记录,以及几小时前插入的记录。现在这是我的查询:SELECTCOUNT(*),FLOOR(TIME_TO_SEC(TIMEDIFF(NOW(),time))/3600)FROM`records`WHEREtime>DATE_SUB(NOW(),INTERVAL24HOUR)GROUPBYHOUR(time)ORDERBYtimeASC现在它返回:28236223142014283191显示23小时前的两行,而当时它应该每小时只显示一行。我认为这与使用NOW()而不是在一小时开始时获取时间有关,我不确定如何获取时间

sql - 在 TIMESTAMP 类型的 MySQL 列中使用零值

我对MySQL中TIMESTAMP类型的文档以及零值是否可以安全使用感到有点困惑。manualsays:TheTIMESTAMPdatatypehasarangeof'1970-01-0100:00:01'UTCto'2038-01-1903:14:07'UTC....这意味着“0000-00-0000:00:00”超出范围,因此无效。但是,据我所知,手册实际上并没有这样说。它也没有明确说明“0000-00-0000:00:00”是有效值。实践表明'0000-00-0000:00:00'有效,而manualdoessay那:CREATETABLEt(tsTIMESTAMPDEFAULT

带有日期范围的 mySQL 查询,并且只为每个 ID 选择最近的记录

我有下表:RecordIDStatusDateTimestamp----------------------------------------------------------11waiting2010-02-022010-02-0212:00:0021finished2010-02-022010-02-0212:30:0032waiting2009-02-022009-02-0212:00:00我想获取日期介于2010-01-01和2010-03-03之间的记录。(这应该给我记录1和2)此外,我只想获取每个ID的最新(具有最新时间戳)。(这应该只给我记录2)。我不确定我需要如何构

mysql - 如何在 CURRENT_TIMESTAMP MySQL 中添加 24 小时?

我想在数据库表中添加过期时间戳。我有一个时间戳字段,类型为TIMESTAMP,默认值为CURRENT_TIMESTAMP()。我添加了DATETIME类型的新字段“expire”,默认值为ADDDATE(CURRENT_TIMESTAMP,INRERVAL1DAY),但不起作用。CREATETABLEIFNOTEXISTS`temp_mch`(`name`varchar(60)NOTNULL,`qty_new`int(5)NOTNULL,`timestamp`timestampNOTNULLDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`name`),KEY`

mysql - 在 MySQL 中使用 Union All 和 Order By

我有2个表:createtableadvertised_products(idint,titlevarchar(99),timestamptimestamp);insertadvertised_productsselect1,'t1',curdate();createtablewanted_products(idint,titlevarchar(99),timestamptimestamp);insertwanted_productsselect1,'t1',now();我正在使用这个查询来获取记录:(SELECTap.*,'advertised'astypeFROMadvertise

php - MySql 查询通过保留最新的时间戳值来删除重复的行?

我遇到了一个关于mysql表更新的问题。我有一个包含5列的表,包括ID、NAME、TIMESTAMP和其他2列。我的问题是我想删除那些ID和NAME都与另一行、ID和NAME匹配的行,同时保留最新的TIMESTAMP行。我正在尝试以下查询,但它显示错误:#1093-Youcan'tspecifytargettable'dummy1'forupdateinFROMclause查询是:deletefromdummy1whereLAST_USED_DATEnotin(selectmax(LAST_USED_DATE)fromdummy1groupbyID,NAME);

mysql - 给定 session 列表计算峰值并发用户

我正在尝试在MySQL中设计一个解决这个问题的方案,但我也对从理论角度来看的解决方案感兴趣,因为我认为它可能会成为一个很好的面试问题。问题:我有一个(大型)用户session数据库。对于每个用户,我都有一个session开始时间戳和一个以秒为单位的session长度。我有兴趣找出任意时间范围内的峰值并发用户数。找到这个数字的最有效方法是什么? 最佳答案 最简单的方法是为一系列时间戳创建一个表,例如每分钟一个。每天只有1440分钟,这是一个非常小的表。即使您必须在一天中的每一秒都输入,每天也只有86400行。然后将时间戳表加入您的se

mysql - SQL查询以检索最接近时间戳的记录

我正在尝试从我的MySQL数据库中的表中检索记录,其中:时间戳最接近我提供的变量;并且,按字段keyA、keyB、keyC和keyD分组我已经按照下面的方式对变量进行了硬编码以对此进行测试,但是无法使查询正常工作。SQLFiddle我当前的架构是:CREATETABLEdataHistory(timestampdatetimeNOTNULL,keyAvarchar(10)NOTNULL,keyBvarchar(10)NOTNULL,keyCvarchar(25)NOTNULL,keyDvarchar(10)NOTNULL,valueintNOTNULL,PRIMARYKEY(times

python转mysql 'Timestamp'对象没有属性 'translate'

我正在尝试使用Sqlalchemy将pandas数据框加载到mysql表。我连接使用;engine=create_engine("mysql+pymysql://user:password@ip:port/db")然后我只是在运行;df.to_sql(con=engine,name='Table',if_exists='append',index=False,chunksize=10000);一直报错AttributeError:'Timestamp'objecthasnoattribute'translate'当我使用旧版本并通过pymysql而不是sqlalchemy执行此操作时,

PHP strtotime 返回 Mysql UNIX_TIMESTAMP 的不同值

我在stackoverflow上搜索过帖子,找到了一些类似的帖子。但我认为这是不同的帖子。我的PHP和Mysql服务器的时区都设置​​为“UTC”。在我使用时间戳字段的表中,值为“2010-11-0802:54:15”,我这样使用sql:SELECTid,updated,second(updated),unix_timestamp(updated)FROM`transaction`whereid=56明白了:idupdatedsecondunix--------------------------------------------562010-11-0802:54:151512891