我在数据库中有一系列值,我需要拉动它来创建折线图.因为我不需要高分辨率,所以我想通过从数据库中选择每第5行来重新采样数据.
假设我有这张桌子tab(小提琴可用).
| g | a | b | v |
---------------------
| 1 | 3 | 5 | foo |
| 1 | 4 | 7 | bar |
| 1 | 2 | 9 | baz |
| 2 | 1 | 1 | dog |
| 2 | 5 | 2 | cat |
| 2 | 5 | 3 | horse |
| 2 | 3 | 8 | pig |
Run Code Online (Sandbox Code Playgroud)
我正在按行分组 …
我有一个包含以下数据的表:
reservno || icode || location
00004 || 00021 || Bohol - Cebu
00004 || 00022 || Cebu - Manila
00004 || 00014 || Manila - Bohol
Run Code Online (Sandbox Code Playgroud)
我使用此查询来检索位置的连接值.
SELECT GROUP_CONCAT(location) from location_list where reservno='00004';
Run Code Online (Sandbox Code Playgroud)
查询结果如下所示:
GROUP_CONCAT(location)
Bohol - Cebu,Cebu - Manila,Manila - Bohol
Run Code Online (Sandbox Code Playgroud)
但我想要做的是查询看起来像这样:Bohol - Cebu - Manila - Bohol.我想合并这样的结果.我怎样才能做到这一点?我对MySQL字符串函数并不熟悉,所以我需要一些关于如何使其工作的想法.任何帮助将不胜感激.非常感谢!
我对涉及MySQL中的变量声明的查询相当新.我见过各种风格,我并不完全清楚这些实际上是做什么的.我对这些实际上做了什么有疑问.
1)
set @row:=0;
SELECT name, @row:=@row + 1 AS rownum
FROM animal
Run Code Online (Sandbox Code Playgroud)
2)
SELECT name, @row:=@row + 1 AS rownum
FROM (SELECT @row:= 0) c, animal
Run Code Online (Sandbox Code Playgroud)
两者都返回相同:
name rownum
|| cat || 1 ||
|| cat || 2 ||
|| dog || 3 ||
|| dog || 4 ||
|| dog || 5 ||
|| ant || 6 ||
Run Code Online (Sandbox Code Playgroud)
上述两个查询有哪些不同之处,两者中的哪一个在范围,效率,编码习惯,用例方面采用了哪些?
3)现在如果我这样做:
set @row:=0;
SELECT name, @row:=@row + 1 AS rownum
FROM (SELECT @row:= 123) c, animal
Run Code Online (Sandbox Code Playgroud)
我明白了
name rownum …Run Code Online (Sandbox Code Playgroud) mysql sql select variable-initialization variable-declaration