Java 从mysql中的多行中获取单个列

Java 从mysql中的多行中获取单个列,java,mysql,database,Java,Mysql,Database,我有两行,如下图所示。我想基于aday(星期二)将其作为一列 在桌子上,请帮助我如何锻炼这个。 提前谢谢 这个问题与java无关,而是与SQL查询有关。您可以选择表中的所有行,并且只返回列aday值为“TUE”的行 您不能这样做,因为这将为返回的行提供可变的列数 您可以在GROUP_CONCAT上演奏小提琴:- SELECT doctorname, aday, GROUP_CONCAT(CONCAT_WS('~', availfrom, availupto) SEPARATOR '#') av

我有两行,如下图所示。我想基于aday(星期二)将其作为一列 在桌子上,请帮助我如何锻炼这个。 提前谢谢


这个问题与java无关,而是与SQL查询有关。您可以选择表中的所有行,并且只返回列aday值为“TUE”的行


您不能这样做,因为这将为返回的行提供可变的列数

您可以在GROUP_CONCAT上演奏小提琴:-

SELECT doctorname, aday, GROUP_CONCAT(CONCAT_WS('~', availfrom, availupto) SEPARATOR '#') avail_time_slots
FROM sometable
GROUP BY doctname, aday

然后,在代码中,您需要分割可用时间槽

您可以将LIMIT 1与mysql queryPost一起使用sql。另外,您是在寻找一列还是一行?单行是
LIMIT 1
,列是
SELECT aday FROM…
另外,您如何决定要哪一行?您的问题与Java有何关系?您是想将这两行合并成一行,还是想在SQL中使用一些神奇的方法(即连接)来返回单个列。请将您的问题编辑得更精确。您的期望是什么?用上面的例子解释输出。这个查询给出了两行,但我想显示一行,其中包含所有数据,没有重复数据。是否有您想要的特定行,或者这不重要?可以有多个与其他列及其值相关的条件。如果您只想返回第一行,请执行以下操作:
SELECT*FROM table WHERE aday=TUE LIMIT 1
我需要在一列中包含两行数据(availfrom,availupto),我编辑我的问题,我当前在前端得到了什么。我想显示第二行availfrom,第一行旁边的availupto感谢它的工作正常,现在我正在尝试拆分avail\u time\u插槽。在显示它时,会显示一些哈希代码,如[B@43H40像这样,我使用的是jstl代码,比如。我不知道我的数据库控制台出了什么错误。我担心我的Java知识很差,而且已经过时了,所以不确定如何在Java中分解它(在php中很简单)。
SELECT doctorname, aday, GROUP_CONCAT(CONCAT_WS('~', availfrom, availupto) SEPARATOR '#') avail_time_slots
FROM sometable
GROUP BY doctname, aday