首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql按列值分隔行,这是可能的吗?

mysql按列值分隔行,这是可能的吗?
EN

Stack Overflow用户
提问于 2012-10-21 14:43:36
回答 1查看 228关注 0票数 0

在过去的几天里这个问题一直困扰着我。这是我的想法:

一家超大型零售商店公司在许多不同的城市都有门店,每家门店都是在给定的一天开业的。将数据制表的表格将具有(至少)两列,

(1)城市名称(2)开放日期

可取输出:多个列表,每个列表包含给定城市的所有商店,按时间顺序(按开业日期排序),10个城市按字母顺序排序。

为了解决这个问题,我在想:

获取#1:从表中按字母顺序获取10个城市

Fetch #2 (循环中的多个Fetch):迭代每个获取的城市,并获得

所有其各自的商店,使order by date打开。

上面的方法,我已经提出了这项工作,但我想知道是否有一个更简洁的方法来做到这一点,这涉及到循环遍历城市的商店,同时使fetch #1本身,从而不会增加时间复杂性,使用外部循环和执行许多sql执行而不是只执行一次。

这有可能吗?一条sql语句?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-21 14:59:51

代码语言:javascript
复制
SELECT * FROM my_table NATURAL JOIN (
  SELECT DISTINCT city FROM my_table ORDER BY city LIMIT 10
) t ORDER BY city, opened

在应用程序中循环结果集时拆分成单独的列表:只需检查city,看看自上次迭代以来它是否发生了变化。在伪代码中:

代码语言:javascript
复制
for each record in resultset:
  if current city is not equal to last city then start new list
  output current record
  set last city to current city
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12995616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档