Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何按字母顺序查询多个表?_Mysql_Sql - Fatal编程技术网

Mysql 如何按字母顺序查询多个表?

Mysql 如何按字母顺序查询多个表?,mysql,sql,Mysql,Sql,我只能将此查询应用于一个表,我希望将其应用于临时表中的5个表,并按字母顺序进行记录。因为它有超过5000条记录被冻结的问题,解决方法是在它开始一封信时应用这些记录 在b字母之后。。。。例如,在z字母的末尾 阿曼达 阿纳贝尔 . . . 泽普林 赞比亚 重要的是第一个字母应该按字母顺序排列 很快,我想创建一个临时表,并在第一个字母上按字母顺序应用查询。。我怎样才能做到 UPDATE names INNER JOIN (SELECT n1.id, n1.name, count(n2.id

我只能将此查询应用于一个表,我希望将其应用于临时表中的5个表,并按字母顺序进行记录。因为它有超过5000条记录被冻结的问题,解决方法是在它开始一封信时应用这些记录 在b字母之后。。。。例如,在z字母的末尾

阿曼达 阿纳贝尔 . . . 泽普林 赞比亚

重要的是第一个字母应该按字母顺序排列

很快,我想创建一个临时表,并在第一个字母上按字母顺序应用查询。。我怎样才能做到

UPDATE
  names INNER JOIN
  (SELECT   n1.id, n1.name, count(n2.id)+1 cnt
   FROM     names n1 INNER JOIN names n2
            ON n1.name=n2.name AND n1.id>n2.id
   GROUP BY n1.id, n1.name) s
  ON names.id = s.id
SET
  names.name = CONCAT(names.name, '.', s.cnt)

你在找这样的东西吗

创建临时表temp_名称,如名称; 插入临时名称 选择id、CONCATname、coalescatconcat'',rnum、name 从…起 选择id、名称、@n:=IF@g=姓名,COALESCE@n,0+1,空rnum,@g:=name 从名字 点名 Q
你在找这样的东西吗

创建临时表temp_名称,如名称; 插入临时名称 选择id、CONCATname、coalescatconcat'',rnum、name 从…起 选择id、名称、@n:=IF@g=姓名,COALESCE@n,0+1,空rnum,@g:=name 从名字 点名 Q
如果您想从多个表中收集数据,我会使用UNION或(如果您不想/不需要筛选重复项)UNION ALL,这应该会快一点

例如:

SELECT col1, col2
FROM table1
UNION ALL
SELECT col3, col4
FROM table2
如果你想把它分类,如果我没记错的话,这就是方法

SELECT col1 as column1, col2 as column2
FROM table1
UNION ALL
SELECT col3 as column1, col4 as column2
FROM table2
ORDER BY column1

如果你正面临性能问题,请考虑将临时表设为实际表。您可以在重新填充之前通过简单地截断它来“清理”它,然后可以对要添加的每个表使用insert查询。无需对其进行排序,因为您只需在表上执行SELECT/ORDER BY即可


如果上述内容对您没有帮助,也许您可以添加一个示例,说明您从哪些数据开始以及所需的结果?

如果您想从多个表中收集数据,我将使用UNION或(如果您不想/不需要过滤重复项)UNION ALL,这应该会快一点

例如:

SELECT col1, col2
FROM table1
UNION ALL
SELECT col3, col4
FROM table2
如果你想把它分类,如果我没记错的话,这就是方法

SELECT col1 as column1, col2 as column2
FROM table1
UNION ALL
SELECT col3 as column1, col4 as column2
FROM table2
ORDER BY column1

如果你正面临性能问题,请考虑将临时表设为实际表。您可以在重新填充之前通过简单地截断它来“清理”它,然后可以对要添加的每个表使用insert查询。无需对其进行排序,因为您只需在表上执行SELECT/ORDER BY即可


如果上述内容对您没有帮助,您可以添加一个示例,说明您从哪些数据开始以及所需的结果?

为什么要将名称更新为name.count。为什么不能在显示姓名计数的视图中显示此信息?@Himanshu这是针对电子邮件帐户的。我想让用户名成为用户的电子邮件帐户。例如用户/786691/himanshu>himanshu@stackoverflow.com用户/555585655675/himanshu>himanshu。2@stackoverflow.comI怀疑内部查询提供了所需的递增数字。内部查询的结果是什么?彼得姆和希曼苏一定接近通灵了,因为我完全不知道你在说什么。你为什么要把名字更新为name.count。为什么不能在显示姓名计数的视图中显示此信息?@Himanshu这是针对电子邮件帐户的。我想让用户名成为用户的电子邮件帐户。例如用户/786691/himanshu>himanshu@stackoverflow.com用户/555585655675/himanshu>himanshu。2@stackoverflow.comI怀疑内部查询提供了所需的递增数字。内部查询的结果是什么?彼得姆和希曼苏一定是接近通灵,因为我完全不知道你在说什么。是的,但我不擅长sql。一个临时表中应该有4-5个表,每个查询都适用于以字母开头的查询,当a字母结束时,它将继续应用于其他查询。在我发布的查询的末尾,应该适用于所有记录@彼得:是的,但我不擅长sql。一个临时表中应该有4-5个表,每个查询都适用于以字母开头的查询,当a字母结束时,它将继续应用于其他查询。在我发布的查询的末尾,应该适用于所有记录@彼得