同时订购两个string_agg

时间:2015-09-30 20:29:26

标签: sql postgresql select

我有一个查询,在某些时候有两个聚合:

string_agg(requirements, '@') as req, string_agg(name, ',') as name

稍后在代码中,我将我在聚合中使用的字符拆分并将两个结果数组压缩在一起。但是,此代码不起作用,因为我需要按名称排序的条目。如果我这样做:

string_agg(requirements, '@') as req, string_agg(name, ',' order by name) as name

然后它实际上失去了与要求的对应关系,一旦我拆分字符串并重新安装它。

如何同时订购两个聚合?有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

只需为它们指定相同的import numpy as np import matplotlib.pyplot as plt f, (ax1, ax2, ax3) = plt.subplots(3, 1, sharex=True, sharey=False) f.subplots_adjust(wspace=0) N = 4 ind = np.arange(N) width = .4 group_names = ('A', 'B', 'C', 'D') q2 = [84, 21, 10, 4] q4 = [69, 34, 22, 0] q6 = [66, 28, 17, 2] colors = ['c', 'purple', 'g', 'red'] ax1 = plt.barh(ind, q2, width, color=colors) plt.yticks(ind+width/N, group_names) plt.ylim([min(ind)-0.25, max(ind)+0.65]) plt.xticks(np.arange(0, 110, 10.)) plt.xlim(0, 100) ax2 = plt.barh(ind, q4, width, color=colors) plt.yticks(ind+width/N, group_names) plt.ylim([min(ind)-0.25, max(ind)+0.65]) plt.xticks(np.arange(0, 110, 10.)) plt.xlim(0, 100) ax3 = plt.barh(ind, q6, width, color=colors) plt.yticks(ind+width/N, group_names) plt.ylim([min(ind)-0.25, max(ind)+0.65]) plt.xticks(np.arange(0, 110, 10.)) plt.xlim(0, 100) plt.show() 子句:

order by