我有一个很大的数据库,里面有大约300万条记录,其中的记录包含时间戳。
现在我想每月选择一条记录,它使用以下查询:
SELECT timestamp, id, gas_used, kwh_used1, kwh_used2 FROM energy
GROUP BY MONTH(timestamp) ORDER BY timestamp ASC
它可以工作,但速度非常慢。
我在id和timestamp上都有索引。
我该怎么做才能让这个查询更快呢?
我期望得到的"user_id“是按照DESCending顺序与Location表中的第一条记录相对应的记录。但我得到的是ASCending顺序/或ID顺序中第一条记录的"user_id“。
SELECT Device.name, Location.user_id
FROM locations Location
LEFT JOIN devices Device
ON Device.id = Location.device_id
WHERE Device.id IN (491)
GROUP BY Location.device_id
我已经写了一个过程,在一个过程父表和子表中插入数据到两个表中。 如果一条记录被插入到父表中,那么它的主键应该作为外键插入第二个表中。 所以我所做的是 Declare @HeaderID int
Set @HeaderID= IDENT_CURRENT('EQ') --Latest ID 因此,多个人连接到同一个数据库,并使用此过程。 现在,我关心的是主键不会被复制吗?对吗?如果用户A将数据插入到父表中,例如,生成了ID=1,那么对于同时插入记录的用户B,将获得ID=2或其他内容。对吗? 我的朋友说它应该是SCOPE_IDENTI
我的存储过程中有以下内容,可以从具有中立阵营的玩家名称中检索唯一的记录:
SELECT
COUNT(DISTINCT Name) into @neutcount
FROM
dim5players
WHERE
Faction ='Neutral';
UPDATE dim5stats
SET Value = @neutcount
WHERE
Function = 'Neutral';
这工作找到和花花公子。问题是,我也有一个名为日期的字段。
我希望选择在计数中列出的记录的最新日期,而不是从唯一的“名称”记录中选择随机记
我有记录,其中包含日期和包含none、yearly和monthly的出现字段。
id status note date last_updated occurring
1 open --- 01/01/2011 01/02/2010 yearly
2 open --- 05/05/2011 03/05/2011 monthly
3 open --- 06/06/2011 05/06/2011 none
现在,我需要能够检查一条记录是否到期(日期集已经过去),如果
我找到了几种方法来查找表中的最后一条记录,但是如果变量是最后一条记录,我该如何将其设置为true,如果不是,如何将变量设置为false? Example 1) SELECT TOP 1 * FROM table_Name ORDER BY unique_column DESC
Example 2) SELECT id from table_Name ORDER BY id DESC LIMIT 1
IF @LastRecord = 1
BEGIN
--do something here
END
我试图从sql语句中创建记录分页,除了最后一条记录显示前一条记录为next,因为sql查询只返回1行而不是2。我根据第一个结果和前一个结果设置next。
数据:
苹果
香蕉
葡萄
桔黄色的
sql:
select *
from (select top 1 fruit
FROM table
where fruit > 'Banana'
order by fruit asc) as x
UNION ALL
select *
from (select top 1 fruit
FROM t
我的任务是从数据库中删除在操作过程中未受影响的所有实体。我创建了一个单独的表,它有两列,第一列表示表的名称,第二列表示该表中记录的id。
CREATE TABLE edited_entities (
table VARCHAR(50) not null,
id BIGINT(20) not null)
例如,如果我有一张表
CREATE TABLE puppy(
id BIGINT(20) not null,
name VARCHAR(20) not null)
里面还有一条记录
id | name
1 | Rex
如果我编
我的桌子上有100张活动记录--汽车。用户已决定降级他们的帐户,现在有资格只有5个活动记录。我需要将95条记录(最早的第一条)的过期日期设置为当前的时间戳。如果您包含一些cakephp提示,我如何在MySQL中做到这一点?谢谢(但我将仅感谢您提供的SQL提示)。
下面是我尝试过的内容,但我得到了一条错误消息,说明mySQL在子查询中不支持限制。
UPDATE cars
SET archived = NOW()
WHERE id NOT IN (
SELECT id
FROM cars
ORDER BY created DESC LIMIT 5
)
Access 2016相当新,我正在编写一个查询,以便每月获得数据库中最常见的用户。
所以一条记录应该是
Table1
ID Date1
1 2019-02-28
这是我的代码,对每月的总数进行分组:
Month: Format([Date1],"mmmm")
TopUser: (SELECT TOP 1 [Table1]![ID] FROM [Table1] GROUP BY
[Table1]![ID] order by COUNT([Table1]![ID]) DESC)
期望值:
Month TopUser
January 2