我的数据库中有一些数据:
id user
1 zhangsan
2 zhangsan
3 zhangsan
4 lisi
5 lisi
6 lisi
7 zhangsan
8 zhangsan
我要保持秩序,并合并几乎相同的用户物品,该怎么办?当我使用shell脚本时,我将(文件测试中的数据。):
cat test|cut -d " " -f2|uniq -c
这将得到结果为:
3 zhangsan
3 lisi
2 zhangsan
但是如何使用sql呢?
如果你试试:
SET @name:='',@num:=0;
SELECT id,
@num:= if(@name = user, @num, @num + 1) as number,
@name := user as user
FROM foo
ORDER BY id ASC;
这给出了:
+------+--------+------+
| id | number | user |
+------+--------+------+
| 1 | 1 | a |
| 2 | 1 | a |
| 3 | 1 | a |
| 4 | 2 | b |
| 5 | 2 | b |
| 6 | 2 | b |
| 7 | 3 | a |
| 8 | 3 | a |
+------+--------+------+
因此,您可以尝试:
SET @name:='',@num:=0;
SELECT COUNT(*) as count, user
FROM (
SELECT @num:= if(@name = user, @num, @num + 1) as number,
@name := user as user
FROM foo
ORDER BY id ASC
) x
GROUP BY number;
这使
+-------+------+
| count | user |
+-------+------+
| 3 | a |
| 3 | b |
| 2 | a |
+-------+------+
(我打电话给我的表foo
,也只是使用的名称a
和b
因为我懒得写zhangsan
,并lisi
一遍又一遍)。
我有两个数据。表X和表Y。 列 X: Y 中的值列: 创建两个data.tables: 我设置了 X 和 Y 的键: 现在,我尝试通过X中的< code>id和Y中的< code>ID来连接X和Y: All引发错误,指出参数中的列名无效。 我查阅了data.table的手册,发现< code>merge函数不支持< code>by.x和< code>by.y参数。 如何在不更改列名的情况下通过不同
问题内容: 我有两个在android studio中制作的单独的android应用程序项目,我正在尝试将项目1合并到项目2中,以使其全部成为一个应用程序,我该怎么做呢?我知道如何在Eclipse中做到这一点,但在android studio中却不行。请注意,这两个项目都是android应用程序,都不是android库。 任何帮助都将是惊人的! 当我将项目1导入到项目模块中时,在生成成绩时出现此错误
我有一个以下格式的文本文件。 第一行包括“USERID”=12345678,其他行包括每个应用程序的用户组:例如: 用户T-number T12345的用户对APP1和APP2具有WRITE访问权限,对APP1具有READ-ONLY访问权限。 T-Number只是另一种ID。 00001, 00002等都是序号,可以忽略。 我需要做一些过滤,并将包含USERID的行与所有具有用户组的行合并,将t-
我有两个独立的android应用程序项目,它们都是在android studio中制作的。我正在尝试将项目1合并到项目2中,使其成为一个应用程序。我该怎么做呢?我知道如何在eclipse中完成,但不知道如何在android studio中完成。请注意,这两个项目都是android应用程序,没有一个是android库。 任何帮助将是惊人的! 当我将项目1导入项目模块时,我在年级生成中遇到以下错误:
表的复合键是symbol和“datetime”(它只是一个时间戳)。这两列在dynamodb中都设置为字符串。 我收到的错误是:提供的键元素与模式不匹配
我有一个通量和单值,我不知道如何组合它们,以便在通量的每一项中都有单值。 我正在尝试这种方法,但它不起作用: