2017-08-11 88 views
-1

如何在MySQL中获得多个结果?Mysql返回多行,只需要1

SELECT DATE_ADD(data, INTERVAL(-WEEKDAY(data)) DAY) AS D 
FROM Done 
GROUP BY D 

它给我。“2017年8月7日”和“2017年8月14日”,我需要他们两个,而是一个开始和另一个在末尾。我怎样才能做到这一点?

+1

可以粘贴附加信息: - 什么是您的架构是什么样子? - 你究竟想要达到什么目的? – thexpand

+0

它显示星期一的数据和星期五的数据,在“数据”中,星期一至星期五和星期几每天都完成 – SoManyQuestions

+0

粘贴整个模式,以便每个人都可以看到。为什么列名为数据,而不是日期或什么?因为数据库中的所有内容都是数据,所以它不是很好的名称,因为数据库中的所有内容都是数据:) – thexpand

回答

0

根据数据库查询的结果称为结果集。 因此,您的结果集包含2行,换句话说,您可以说来自此查询的结果集中有2个结果。

事实上,你有他们单独 - 每个在结果集中的自己的行。 以您正在使用的编程语言获取结果时,您将以集合或数组的形式接收它们。

然后,您可以获取该集合/数组的第一个和第二个元素并根据需要打印它们。

+0

我正在使用php,试图将它们分开,但它从未正常工作 – SoManyQuestions

+0

如果$ result是结果集,$ result [0]将返回结果集的第一行,而$ result [1] '会返回结果集的第二行。 – thexpand

+0

$ result [0]给出22,$ resut [1]给出00,$ result [2]给出11和$ result [3]给出77 – SoManyQuestions

0

试试这个: -

DROP TABLE IF EXISTS tbl_1; 
CREATE TEMPORARY TABLE tbl_1 
AS 
SELECT 
    DATE_ADD(data, INTERVAL(-WEEKDAY(data)) DAY) AS D,@row_num:[email protected]_num+1 as row_id 
FROM 
    Done,(select @row_num:=0)rownum 
GROUP BY D; 

DROP TABLE IF EXISTS tbl_2; 
CREATE TEMPORARY TABLE tbl_2 
AS 
SELECT * from tbl_1; 

SELECT tbl_2.D,tbl_1.D from tbl_1 
JOIN tbl_2 ON tbl_1.row_id=tbl_2.row_id+1