我有几列数据。第一列包含我只想显示一次的所有唯一值。第二列可以具有相同数据的多个条目。这导致第一列显示多个条目,第二列中的每个条目对应一个条目。
示例:
A 123
A 432
A 2352
B 5342
C 34256
C 23423
我只想看到A的一行、B的一行和C的一行。我不关心第二列中的哪个值为每个A/B/C行显示。
我有一张桌子
id type note
1 A ab cd
1 B cdef
1 A abd
1 A abcd
删除空间后,我想得到所有唯一的注释,所以我的结果将是这样的
id type note
1 A ab cd
1 A abd
1 B cdef
因为移除空间后,、ab、cd、和的abcd将是相同的。我在用Postgres。请注意,id列不唯一。
我有这样的表格数据
Column_a | Column_b
a | 5
b | 25
g | 14
t | 13
b | 15
c | 04
g | 15
b | 13
在column_a中,我有很多重复的值,我希望能够从表中选择所有行,但是如果两行具有相同的column_a值,我只希望在结果示例中包含来自colum_b的最大值的行:
Column_a | Column_b
a | 5
b
我在monetdb表中有一个时间戳列,我想偶尔按小时分组,偶尔按日或月分组。在MonetDB中执行此操作的最佳方式是什么?
在比如postgres中,你可以这样做:
select date_trunc('day', order_time), count(*)
from orders
group by date_trunc('day', order_time);
我认为这不会使用索引,但在MonetDB中有什么方法可以做到这一点,而不是创建包含日、月和年截断值的额外日期列呢?
谢谢。
我的头撞在这个问题上,不知道该如何解决。我需要从teams表(不同的值)中为每个团队代码返回1行,其中包括用户信息。
基于团队代码,表用户可以有多个值,但我需要它只返回1(任何一个,不管是哪一个)。我试过了:
SELECT a.teamcode, a.area, c.uniqid, c.fullname, c.email
FROM teams a
LEFT JOIN
(SELECT uniqid, CONCAT(first_name, ' ', last_name ) AS fullname, email, teamcode from users LIMIT 1) c
on
日安,我有一个我一直在纠结的问题,希望有人已经找到了一个聪明的解决方案(我使用MySQL)。
我有一张这样的桌子:
Table `log`
----------
id
inserted
message
user_id
我的目标是为用户选择最后插入的记录,并使其更快。日志表很大(大约90万条记录),所以我的第一种方法是:
SELECT * FROM `log`
LEFT JOIN `users` ON `users`.`id` = `log`.`user_id`
WHERE `id` IN
(
SELECT MAX(`id`) FROM `log` GROUP BY `user_id`
)
描述:
我想选择我的网站内容的类别。其中大部分将由用户创建,因此我将处理表中许多类别的问题。我想尊重一些内容的趋势在我的网站。我的解决办法是:
从过去的2天中选择所有类别,并按出现次数(上升)进行排序,
联合查询(distinct)
选择“日期”<“过去2天”中的所有类别,并按上面的方式排序。
多亏了它,我拥有了全球范围内所有最受欢迎的类别,包括少量的时间+最受欢迎的类别。
查询:
(SELECT category, COUNT(*) AS number FROM data WHERE date BETWEEN ADDDATE(NOW(), INTERVAL -2 D
很抱歉这个糟糕的标题。我不知道该如何描述我的问题。我已经编写了一个查询,返回大约23,000条记录。这些记录中有很多都有类似的信息,我只想选择字段dbo.tblMsgsOnAir_Type8.fldBuddyLinkSigStrength最大的记录。我尝试按所有其他被选中的列进行分组,但似乎不能正常工作。我不完全理解SQL,尤其是max和group函数。当我只想或只需要选择一个东西时,我可以做简单的max函数。当我想要选择一堆其他数据时,我不明白它是如何工作的。下面是查询。
SELECT
dbo.tblmeterinfo.fldMeterSerialNumber AS "MOP
注意:我不确定我是否给了这个问题最主要的标题,因为我不确定正确的方法,但我找不到其他的例子,因为这是一个相当具体的查询。
因此,我有一个“投票”表,其中充满了由用户创建的选票(在user_id列中唯一标识为数字),它对应于另一个表中的相关帖子(投票记录了用户界面中的每个相关帖子)。
我打算按照为每个帖子创建的最新投票(post_id列)对这些选票进行排序(按日期排列),因此避免重复每个post_id的返回值。
我输入以下查询:
SELECT id, user_id, post_id, created, MAX(created)
FROM votes
GROUP BY post_id, user
我目前正在使用MS Visual Studio 2012和SQL Server 2012。
在我的SSRS报告中,我目前有一个包含4列的表,其中有7条记录,如下所示:
ID FirstName LastNameInitial Department
1 Joe S Management
2 Sally T Management
3 Kyle V Employee
4 Sandra B Employee
5 Nick
我有一个矩阵报告,它有两个行组和两个列组。有一列将行组级别上的计算最大值(字段!AdjustedManning.Value)作为小计。我想在行组之外的底部添加一个合计,以求小计数字的总和。我可以使用什么表达式来做这件事?实际上,我正在寻找最大数字的总和 在图像中,用于设计的黄色方框是我需要放置表达式的位置,并预览我期望它计算的内容。 Design and Preview
我有一张A桌,
A
user count
a 4
b 1
c 3
d 2
我想要写一个查询,它返回A的每个值以及计数的最大值,类似于
user maxCount
a 4
b 4
c 4
d 4
我想要达到的目的是,
select user,max(count) as maxCount from A
我得到的结果是:
user maxCount
a 4
这显然不是我想要的。
我知道我可以写多个查询(即‘从A选择用户’/‘从A选择最大(计数)’)
给定以下记录(第一行是列名):
name platform other_columns date
Eric Ruby something somedate
Eric Objective-C something somedate
Joe Ruby something somedate
如何检索带有所有列的单一记录,以便名称列在结果集中总是唯一的?我
我想知道如何从一个数据集生成更多的表格。比方说,根据我从数据集中获得的特定列的值。
示例:
System | Status | KPI | Description
--------------------------------
A | Active | 90% | bla
B | InActive| 85% | bla bla
C | Active | 99% | bla ba
我在postgres中有大约80毫升行(70 in )的表。而且我不能像这样执行SELECT * FROM table查询,因为如果这样做,我的内存就有一些问题:D
主要方法-获取所有数据,然后找到类似的记录,如搜索。但是我不能让所有的数据被操作,因为RAM就像火箭一样溢出。
在增加最小RAM的情况下,从postgres执行所有数据的最佳方法是什么?
我有一个带有ID (IP地址)和一个因素变量(Web浏览器)的表,我需要创建另一个表,该表对每个ID都有一个记录,还有一个因素变量的模式。我在想一些像SELECT ip, MODE (browser) FROM log GROUP BY ip这样的东西。
不幸的是,SQLite没有实现MODE函数,因此这是行不通的。我想用每个浏览器的计数构建一个临时表,然后使用SELECT DISTINCT ON或RANK ()语句,但是SQLite也不支持这些。
另外,在一个语句中这样做会更好,因为还有其他几个因素,我也需要它的模式(并且也按相同的ID分组)。
我有表格,因为有第15列,我想合并一行中的重复行,然后在保留一行作为记录后删除重复行
我的桌子就是这样
id name email address city state country salary ....
1 a a@a.a null null a xyx null
2 null a@a.a a a null null 10000
我正在轮询资源的当前状态,并将此信息记录到一个表中。有时资源不可用,因此状态将为NULL。
我尝试将数据划分为连续的行块,其中status不为NULL,后跟一个状态为NULL的行块。从这个分区中,我想得到更多的信息,比如这些块的最早和最新的时间戳,这个块的行数等等。
示例数据可能如下所示
DECLARE @data TABLE
(
ID INT IDENTITY,
STATE NVARCHAR(10) NULL,
TS DATETIME2(0) NOT NULL
);
INSERT INTO @data
(
STATE,
TS
)
VALUES
(N'A', DAT
我的需求如下:
我必须从表"A“中取出一行。现在,我必须遍历所有行,并从ID列中获取值。如果我得到ID = 5,那么我想要执行一些存储过程,通过它我可以从一些表"B“中获得前面的id行。喜欢
select * from table b where ID = 4
我的问题是:如果有人从数据库中删除了该行(例如,某个用户删除了id为3和4的行),那么我如何从数据库中获取带有id = 2的行?
请给我一些sql存储过程,以便从表中获取以前的id记录。